]> git.saurik.com Git - cycript.git/blobdiff - build.mk
Unix domain sockets are often walled by sandboxes.
[cycript.git] / build.mk
index d41545984232df962af5688d1704d2d2011346be..72f9988a3abf628d004ec9539fc3a8705ce94e84 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
 
@@ -92,11 +93,12 @@ $(deb): Cycript.lib/cycript-apl Cycript.lib/libcycript.dylib Cycript.lib/libcycr
        mkdir -p package/DEBIAN
        sed -e 's/#/$(version)/' control.in >package/DEBIAN/control
        mkdir -p package/usr/{bin,lib}
-       cp -a modules package/usr/lib/cycript0.9
-       $(lipo) -extract armv6 -output package/usr/bin/cycript Cycript.lib/cycript-apl
+       cp -a cycript0.9 package/usr/lib/cycript0.9
+       $(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,$^)
 
@@ -277,8 +280,7 @@ Cycript.lib/libcycript.cy:
 
 Cycript.lib/libcycript.db: $(db)
        @mkdir -p $(dir $@)
-       ./libcycript.sh 0 $@
-       ./libcycript.py $@ $^
+       ./libcycript.py 0 $@ $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) $^ </dev/null
 
 Cycript.lib/libcycript.jar: build.osx-x86_64/libcycript.jar
        @mkdir -p $(dir $@)
@@ -286,7 +288,7 @@ Cycript.lib/libcycript.jar: build.osx-x86_64/libcycript.jar
 
 Cycript.lib/cycript0.9:
        @mkdir -p $(dir $@)
-       ln -s ../modules $@
+       ln -sf ../cycript0.9 $@
 
 cycript: cycript.in
        cp -af $< $@
@@ -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