aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile11
1 files changed, 8 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 7d29f12..fdf108a 100644
--- a/Makefile
+++ b/Makefile
@@ -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 $@ $<