]> git.saurik.com Git - winterboard.git/blobdiff - makefile
Put some more reasonable code in the open crasher.
[winterboard.git] / makefile
index 2b58b0638a7fcd8512de632145b32917cf3d1852..a97f4de1dd495e173064a52229ede7507e957a57 100644 (file)
--- a/makefile
+++ b/makefile
@@ -1,18 +1,37 @@
-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 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 Optimize
+
+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) -std=c++11 -dynamiclib \
+           -framework CoreFoundation \
+           -framework Foundation \
+           -framework CoreGraphics \
+           -framework GraphicsServices \
+           -framework Celestial \
+           -framework UIKit \
+           -framework WebCore \
+           -framework WebKit \
+           -lobjc $(substrate)
 
-WinterBoard: *.mm makefile
-       $(target)gcc -fobjc-call-cxx-cdtors -bundle -g3 -O2 -Wall -Werror -o $@ $(filter %.mm,$^) -framework CoreFoundation -framework Foundation -framework UIKit -lobjc -fobjc-exceptions -flat_namespace -undefined suppress -I../uicaboodle.m
+Optimize: Optimize.cpp makefile
+       $(cycc) $(filter %.cpp,$^)
 
-WinterBoard.dylib: Initialization.m makefile
-       $(target)gcc -dynamiclib -g3 -O2 -Wall -Werror -o $@ $(filter %.m,$^) -framework CoreFoundation -framework Foundation -lobjc -init _WBInitialize
+package: all
+       sudo ./package.sh
 
-.PHONY: all clean
+.PHONY: all clean package