]> git.saurik.com Git - winterboard.git/blobdiff - makefile
Organize command line arguments more better smart.
[winterboard.git] / makefile
index d4deec3281f86d4a54f41d2328bdf109463e1db8..0629bab0ab35f54b43420a55c80d89cc3f353396 100644 (file)
--- a/makefile
+++ b/makefile
@@ -1,15 +1,47 @@
-ifndef PKG_TARG
-target :=
-else
-target := $(PKG_TARG)-
-endif
+cycc = cycc -i2.0 -o$@ -- $(filter %.mm,$^) -g0 -O2 -Werror -Iiphone-api -F/System/Library/PrivateFrameworks
 
-all: WinterBoard.dylib
+substrate := -I../substrate -L../substrate -lsubstrate
+
+all: WinterBoard WinterBoard.dylib WinterBoardSettings Optimize
 
 clean:
-       rm -f WinterBoard.dylib
+       rm -f WinterBoard WinterBoard.dylib
+
+WinterBoardSettings: Settings.mm makefile
+       $(cycc) -dynamiclib \
+           -framework UIKit \
+           -framework CoreFoundation \
+           -framework Foundation \
+           -framework CoreGraphics \
+           -framework Preferences \
+           -lobjc
+
+WinterBoard.dylib: Library.mm WBMarkup.mm WBMarkup.h makefile ../substrate/substrate.h
+       $(cycc) -dynamiclib \
+           -framework CoreFoundation \
+           -framework Foundation \
+           -framework CoreGraphics \
+           -framework ImageIO \
+           -framework GraphicsServices \
+           -framework Celestial \
+           -framework UIKit \
+           -framework WebCore \
+           -framework WebKit \
+           -lobjc $(substrate)
+
+WinterBoard: Application.mm makefile
+       $(cycc) \
+           -framework UIKit \
+           -framework Foundation \
+           -framework CoreFoundation \
+           -framework CoreGraphics \
+           -framework Preferences \
+           -lobjc
+
+Optimize: Optimize.cpp makefile
+       $(cycc) $(filter %.cpp,$^)
 
-WinterBoard.dylib: WinterBoard.mm makefile
-       $(target)g++ -dynamiclib -g3 -O2 -Wall -Werror -o $@ $(filter %.mm,$^) -framework CoreFoundation -framework Foundation -lobjc -init _WBInitialize -I/apl/inc/iPhoneOS-2.0 -framework UIKit
+package: all
+       sudo ./package.sh
 
-.PHONY: all clean
+.PHONY: all clean package