X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/4b5dc402335c630735ef8e790e6d117e10275a56..0abb2a2f9d5b1c7fbe7a43619bab5291d7e55f87:/build.mk?ds=sidebyside diff --git a/build.mk b/build.mk index 7f0d890..72f9988 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,7 +94,7 @@ $(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 @@ -115,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 @@ -171,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)) @@ -199,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 $@ $^ @@ -233,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 $@ $^ @@ -254,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,$^) @@ -296,8 +298,10 @@ debug: $(local) DYLD_LIBRARY_PATH=Cycript.lib lldb Cycript.lib/cycript-apl install: $(local) - sudo cp -af $(filter-out %.dylib,$^) /usr/bin - sudo cp -af $(filter %.dylib,$^) /usr/lib + sudo rm -vf /usr/bin/cycript /usr/lib/libcycript* + sudo cp -vfa Cycript.lib/cycript-apl /usr/bin/cycript + sudo cp -vfa $(filter %.dylib,$^) $(filter %.db,$^) $(filter %.jar,$^) /usr/lib + sudo cp -vfa libcycript.cy /usr/lib push: cycript $(android) adb push cycript /data/local/tmp/cycript