]> git.saurik.com Git - uikittools.git/blobdiff - makefile
Simplify the build environment (for shared flags).
[uikittools.git] / makefile
index d55c38afff874eb709f2bb84e50db4ec6c240274..e17bd50440d7e541dd8179e7be6c9fe8b3032525 100644 (file)
--- a/makefile
+++ b/makefile
@@ -1,21 +1,53 @@
-uikittools = uiduid uishoot uicache uiopen gssc
+uikittools = uiduid uicache uiopen gssc sbdidlaunch sbreload cfversion iomfsetgamma libuicache.dylib
 
 all: $(uikittools)
 
 clean:
-       rm -f $(uikittools)
+       rm -f $(uikittools) extrainst_
 
 .PHONY: all clean package
 
-%: %.mm
-       $${PKG_TARG}-g++ -o $@ $< -framework CoreFoundation -framework Foundation -framework UIKit -framework GraphicsServices -F"$${PKG_ROOT}"/System/Library/PrivateFrameworks -lobjc
+private := -F/System/Library/PrivateFrameworks
+
+flags := -Os -Werror
+flags += -framework CoreFoundation
+flags += -framework Foundation
+
+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
+
+%.dylib: %.mm
+       cycc -i2.0 -o$@ -- -dynamiclib $(flags) $^ $($@) -lobjc
        ldid -S $@
 
-package: all
-       rm -rf package
-       mkdir -p package/usr/bin
-       cp -a $(uikittools) package/usr/bin
-       mkdir -p package/DEBIAN
-       cp -a control package/DEBIAN
-       rpl '%S' "$$(du -ks package | cut -d $$'\t' -f 1)" package/DEBIAN/control
-       dpkg-deb -b package uikittools_$(shell grep ^Version: control | cut -d ' ' -f 2)_iphoneos-arm.deb
+%: %.mm
+       cycc -i2.0 -o$@ -- $^ $(flags) $($@)
+       ldid -S$(wildcard $@.xml) $@
+
+%: %.c
+       cycc -i2.0 -o$@ -- -x c $^ $(flags) $($@)
+       ldid -S$(wildcard $@.xml) $@
+
+package: all extrainst_
+       sudo rm -rf _
+       mkdir -p _/usr/lib
+       cp -a $(filter %.dylib,$(uikittools)) _/usr/lib
+       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