]> git.saurik.com Git - winterboard.git/blobdiff - makefile
Xcode 5 can't compile @synchronized using -mthumb.
[winterboard.git] / makefile
index d4deec3281f86d4a54f41d2328bdf109463e1db8..a18cd8e397572ec89322b70f825485a8918a4a6e 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 -Xarch_armv6 -marm
 
-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