]> git.saurik.com Git - cycript.git/blobdiff - build.mk
Move Substrate bindings from Cycript to Substrate.
[cycript.git] / build.mk
index 7f0d8903fbd5bd036a495ccb4c9c88b669e12b3a..644f005368a4f99df7cf0795b4f6500c667f7b54 100644 (file)
--- 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
@@ -305,6 +309,6 @@ push: cycript $(android)
        for x in $(android); do adb push $$x /data/local/tmp/$$x; done
 
 cast: $(zip)
-       appcast.sh cycript/mac $(monotonic) $(version) $< "$(CYCRIPT_CHANGES)"
+       appcast.sh cycript/mac $(monotonic) $(version) $< application/zip "$(CYCRIPT_CHANGES)"
 
 .PHONY: all cast clean debug install zip