mirror of
https://github.com/yuzu-emu/AppImageKit-checkrt.git
synced 2025-12-28 22:31:38 +00:00
Otherwise the bundled library and the system library will use the same namespace and the path of the bundled library might be returned when you expected the system one.
53 lines
996 B
Makefile
53 lines
996 B
Makefile
BIN = checkrt
|
|
LIB = exec.so
|
|
EXEC_TEST = exec_test
|
|
ENV_TEST = env_test
|
|
CHECKRT_TEST = checkrt_test
|
|
|
|
CFLAGS := -Wall -O3
|
|
LDFLAGS := -s
|
|
|
|
|
|
all: $(BIN) $(LIB)
|
|
|
|
clean:
|
|
-rm -f *.o *.gz res.h $(BIN) $(LIB) $(EXEC_TEST) $(ENV_TEST) $(CHECKRT_TEST)
|
|
|
|
distclean: clean
|
|
-rm -rf cxx gcc
|
|
|
|
$(BIN): checkrt.o
|
|
$(CC) -o $@ $^ $(LDFLAGS) -ldl
|
|
|
|
checkrt.c: res.h
|
|
|
|
res.h:
|
|
gzip -k -f COPYING.RUNTIME COPYING3 && \
|
|
xxd -i COPYING.RUNTIME.gz > $@ && \
|
|
xxd -i COPYING3.gz >> $@ && \
|
|
xxd -i COPYING.libgcc >> $@ && \
|
|
xxd -i COPYING.libstdc++ >> $@
|
|
|
|
exec.o env.o: CFLAGS += -fPIC
|
|
|
|
$(LIB): exec.o env.o
|
|
$(CC) -o $@ $^ -shared $(LDFLAGS) -ldl
|
|
|
|
$(CHECKRT_TEST): checkrt.c
|
|
$(CC) -o $@ $(CFLAGS) -DCHECKRT_TEST $^ -ldl
|
|
|
|
$(EXEC_TEST): exec.c env.o
|
|
$(CC) -o $@ $(CFLAGS) -DEXEC_TEST $^ -ldl
|
|
|
|
$(ENV_TEST): env.c
|
|
$(CC) -o $@ $(CFLAGS) -DENV_TEST $^
|
|
|
|
run_tests: $(BIN) $(EXEC_TEST) $(ENV_TEST) $(CHECKRT_TEST)
|
|
./$(ENV_TEST)
|
|
./$(EXEC_TEST)
|
|
./$(CHECKRT_TEST)
|
|
./patch_libs.sh && ./$(BIN) -v
|
|
|
|
.PHONY: $(BIN) all clean
|
|
|