summaryrefslogtreecommitdiff
path: root/makefile
blob: 6764f734378b6833141c65112fd3ee5b828e1c10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
uikittools = uiduid uicache uiopen gssc sbdidlaunch sbreload cfversion iomfsetgamma ldrestart ecidecid

all: $(uikittools)

clean:
	rm -f $(uikittools) extrainst_

.PHONY: all clean package

private := -F/System/Library/PrivateFrameworks

flags := -Os -Werror
flags += -framework CoreFoundation
flags += -framework Foundation
flags += -miphoneos-version-min=2.0
flags += -arch armv6

ldrestart := -std=c++11
gssc := -lobjc
iomfsetgamma := -I. $(private) -framework IOKit -framework IOMobileFramebuffer
sbdidlaunch := $(private) -framework SpringBoardServices
uicache := -framework UIKit # XXX: UIKit -> MobileCoreServices
uiduid := -framework UIKit
uiopen := -framework UIKit
uishoot := -framework UIKit

uicache: csstore.cpp
extrainst_: csstore.cpp

%: %.m
	cycc -- -o $@ -x c $^ $(flags) $($@)
	ldid -S$(wildcard $@.xml) $@

%: %.mm
	cycc -- -o $@ $^ $(flags) $($@)
	ldid -S$(wildcard $@.xml) $@

%: %.cpp
	cycc -- -o $@ $^ $(flags) $($@)
	ldid -S$(wildcard $@.xml) $@

%: %.c
	cycc -- -o $@ -x c $^ $(flags) $($@)
	ldid -S$(wildcard $@.xml) $@

package: all extrainst_
	sudo rm -rf _
	mkdir -p _/usr/bin
	cp -a $(filter-out %.dylib,$(uikittools)) _/usr/bin
	mkdir -p _/DEBIAN
	./control.sh _ >_/DEBIAN/control
	cp -a extrainst_ _/DEBIAN/
	mkdir -p debs
	ln -sf debs/uikittools_$$(./version.sh)_iphoneos-arm.deb uikittools.deb
	sudo chown -R 0 _
	sudo chgrp -R 0 _
	dpkg-deb -b _ uikittools.deb
	readlink uikittools.deb