diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -17,7 +17,7 @@ $(shell mkdir -p out generated) HEADERS := lib/*.h GENERATED := generated/generic-dis-arm.inc.h generated/generic-dis-thumb.inc.h generated/generic-dis-thumb2.inc.h generated/generic-dis-arm64.inc.h define do_prefix -generated/generic-dis-$(1).inc.h: Makefile +generated/generic-dis-$(1).inc.h: $(GEN_JS) --gen-hook-disassembler $(2) --dis-pattern='P(XXX)' $(IMAON2)/out/out-$(3).json > $$@ || rm -f $$@ generateds: generated/generic-dis-$(1).inc.h endef @@ -28,18 +28,22 @@ $(eval $(call do_prefix,arm64,,AArch64)) out/%.o: lib/%.c Makefile $(HEADERS) $(CC) -fvisibility=hidden -std=c11 -c -o $@ $< +out/%.o: lib/%.S Makefile $(HEADERS) + $(CC) -fvisibility=hidden -c -o $@ $< out/jump-dis-arm-multi.o: generated/generic-dis-arm.inc.h generated/generic-dis-thumb.inc.h generated/generic-dis-thumb2.inc.h LIB_OBJS := \ out/find-syms.o \ out/interpose.o \ + out/objc.o \ + out/objc-asm.o \ out/substrate-compat.o \ out/jump-dis-arm-multi.o out/libsubstitute.dylib: $(LIB_OBJS) - $(CC) -dynamiclib -fvisibility=hidden -o $@ $(LIB_OBJS) + $(CC) -dynamiclib -fvisibility=hidden -o $@ $(LIB_OBJS) -lobjc define define_test -out/test-$(1): test/test-$(2).c* $(HEADERS) $(GENERATED) Makefile out/libsubstitute.dylib +out/test-$(1): test/test-$(2).[cm]* $(HEADERS) $(GENERATED) Makefile out/libsubstitute.dylib $(3) -o $$@ $$< -Ilib -Isubstrate -Lout -lsubstitute all: out/test-$(1) endef @@ -52,6 +56,7 @@ $(eval $(call define_test,find-syms,find-syms,$(CC) -std=c89)) $(eval $(call define_test,find-syms-cpp,find-syms,$(CXX) -x c++ -std=c++98)) $(eval $(call define_test,substrate,substrate,$(CXX) -std=c++98)) $(eval $(call define_test,jump-dis,jump-dis,$(CC) -std=c11)) +$(eval $(call define_test,imp-forwarding,imp-forwarding,$(CC) -std=c11 -framework Foundation -lobjc)) out/insns-arm.o: test/insns-arm.S Makefile clang -arch armv7 -c -o $@ $< |