X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/849b0beafc5d722cd9abf4050430600d149cc342..3e50deaf22b629cb1014a6047a54cd05d79de22f:/build.mk diff --git a/build.mk b/build.mk index 0aa2b59..6c1dc05 100644 --- a/build.mk +++ b/build.mk @@ -54,6 +54,7 @@ framework := $(foreach os,ios osx,$(foreach file,$(framework),Cycript.$(os)/Cycr links := links += Cycript.lib/cynject +links += Cycript.lib/libcycript.cy links += Cycript.lib/libsubstrate.dylib links += Cycript.lib/cycript0.9 @@ -93,10 +94,11 @@ $(deb): Cycript.lib/cycript-apl Cycript.lib/libcycript.dylib Cycript.lib/libcycr sed -e 's/#/$(version)/' control.in >package/DEBIAN/control mkdir -p package/usr/{bin,lib} cp -a cycript0.9 package/usr/lib/cycript0.9 - $(lipo) -extract armv6 -output package/usr/bin/cycript Cycript.lib/cycript-apl + $(lipo) -extract armv6 -extract arm64 -output package/usr/bin/cycript Cycript.lib/cycript-apl $(lipo) -extract armv6 -extract arm64 -output package/usr/lib/libcycript.dylib Cycript.lib/libcycript.dylib ln -s libcycript.dylib package/usr/lib/libcycript.0.dylib cp -a libcycript.cy package/usr/lib/libcycript.cy + cp -a Cycript.lib/libcycript.jar package/usr/lib/libcycript.jar cp -a Cycript.lib/libcycript.db package/usr/lib/libcycript.db sqlite3 package/usr/lib/libcycript.db "delete from cache where system & $$(($$(cat build.ios-arm{v6,64}/Makefile | sed -e '/^CY_SYSTEM = \([0-9]*\)$$/{s//\1/;p;};d;' | tr $$'\n' '|') 0)) == 0; vacuum full;" ./dpkg-deb.sh -Zlzma -b package $@ @@ -114,7 +116,7 @@ library := libffi libuv # http://osdir.com/ml/help-make-gnu/2012-04/msg00008.html define build_lar -Cycript.lib/$(1).a: $(1).$(2)/.libs/$(1).a +$(1).a: $(1).$(2)/.libs/$(1).a endef define build_any @@ -170,7 +172,7 @@ build.ios-$(1)/.libs/cycript: build-ios-$(1) @ endef -$(foreach arch,armv6,$(eval $(call build_arm,$(arch)))) +$(foreach arch,armv6 arm64,$(eval $(call build_arm,$(arch)))) define build_arm $(call build_lib,ios,$(1)) @@ -198,13 +200,14 @@ endef $(foreach arch,armeabi,$(eval $(call build_and,$(arch)))) -clean: $(clean) - rm -rf cycript Cycript.lib libcycript*.o - -$(patsubst %,Cycript.lib/%.a,$(library)): +clean += $(patsubst %,%.a,$(library)) +$(patsubst %,%.a,$(library)): @mkdir -p $(dir $@) $(lipo) -create -output $@ $^ +clean: $(clean) + rm -rf cycript Cycript.lib libcycript*.o + Cycript.lib/libcycript.dylib: build.osx-i386/.libs/libcycript.dylib build.osx-x86_64/.libs/libcycript.dylib build.ios-armv6/.libs/libcycript.dylib build.ios-arm64/.libs/libcycript.dylib @mkdir -p $(dir $@) $(lipo) -create -output $@ $^ @@ -232,7 +235,7 @@ Cycript.lib/cycript-pie: build.and-armeabi/cycript-pie install_name_tool -change /System/Library/{,Private}Frameworks/JavaScriptCore.framework/JavaScriptCore $@ codesign -s $(codesign) --entitlement cycript-$(word 2,$(subst ., ,$(subst -, ,$*))).xml $@ -Cycript.lib/cycript-apl: build.osx-i386/.libs/cycript_ build.osx-x86_64/.libs/cycript_ build.ios-armv6/.libs/cycript_ +Cycript.lib/cycript-apl: build.osx-i386/.libs/cycript_ build.osx-x86_64/.libs/cycript_ build.ios-armv6/.libs/cycript_ build.ios-arm64/.libs/cycript_ @mkdir -p $(dir $@) $(lipo) -create -output $@ $^ @@ -253,7 +256,7 @@ Cycript.lib/libcycript-sim.dylib: build.sim-i386/.libs/libcycript.dylib build.si $(lipo) -create -output $@ $^ codesign -s $(codesign) $@ -libcycript-%.o: build.%/.libs/libcycript.a $(patsubst %,Cycript.lib/%.a,$(library)) xcode.map +libcycript-%.o: build.%/.libs/libcycript.a $(patsubst %,%.a,$(library)) xcode.map @mkdir -p $(dir $@) ld -r -arch $$($(lipo) -detailed_info $< | sed -e '/^Non-fat file: / ! d; s/.*: //') -o $@ -all_load -exported_symbols_list xcode.map -x $(filter %.a,$^)