]> git.saurik.com Git - cycript.git/blame - ios.mk
Apple no longer supports *_stret() on -arch arm64.
[cycript.git] / ios.mk
CommitLineData
9968a2d6
JF
1srcdir := .
2
3sed := sed
4git := git
5
6arch := iphoneos-arm
7
8#ifneq ($(git),)
9version := $(shell $(git) describe --always --tags --dirty="+" --match="v*" | $(sed) -e 's@-\([^-]*\)-\([^-]*\)$$@+\1.\2@;s@^v@@;s@%@~@g')
10#else
11#version := @PACKAGE_VERSION@
12#endif
13
14deb := $(shell grep ^Package: $(srcdir)/control.in | cut -d ' ' -f 2-)_$(shell grep ^Version: $(srcdir)/control.in | cut -d ' ' -f 2 | $(sed) -e 's/\#/$(version)/')_$(arch).deb
15
16binary := Cycript_/cycript
17
18$(deb): $(binary) $(patsubst %,Cycript_/libcycript%dylib,. -any. -sim. -sys.) control
19 rm -rf package
20 mkdir -p package/DEBIAN
21 cp -pR control package/DEBIAN
22 mkdir -p package/usr/{bin,lib}
23 cp -pR $(filter %.dylib,$^) package/usr/lib
24 cp -pR $< package/usr/bin
25 dpkg-deb -b package $(deb)
26
27control: control.tmp
28 [[ -e control ]] && diff control control.tmp &>/dev/null || cp -pRf control.tmp control
29
30# XXX: this is now all broken
31depends := apr-lib, readline, libffi (>= 1:3.0.10-5), adv-cmds
32ifeq ($(depends)$(dll),dylib)
33control.tmp: control.in $(binary) .libs/$(lib)cycript.dylib
34 $(sed) -e 's/&/'"$$(dpkg-query -S $$(otool -lah $(binary) .libs/*.dylib | grep dylib | grep -v ':$$' | $(sed) -e 's/^ *name //;s/ (offset [0-9]*)$$//' | sort -u) 2>/dev/null | $(sed) -e 's/:.*//; /^cycript$$/ d; s/$$/,/' | sort -u | tr '\n' ' ')"'/;s/, $$//;s/#/$(version)/;s/%/$(arch)/' $< >$@
35else
36ifeq ($(depends)$(dll),so)
37control.tmp: control.in $(binary) .libs/$(lib)cycript.so
38 $(sed) -e 's/&/'"$$(dpkg-query -S $$(ldd $(binary) $(lib)cycript.so | $(sed) -e '/:$$/ d; s/^[ \t]*\([^ ]* => \)\?\([^ ]*\) .*/\2/' | sort -u) 2>/dev/null | $(sed) -e 's/:.*//; /^cycript$$/ d; s/$$/,/' | sort -u | tr '\n' ' ')"'/;s/, $$//;s/#/$(version)/;s/%/$(arch)/' $< >$@
39else
40control.tmp: control.in
41 $(sed) -e 's/&/$(depends)/;s/,$$//;s/#/$(version)/;s/%/$(arch)/' $< >$@
42endif
43endif
44
45clean::
46 rm -rf control
47
48.PHONY: clean