-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.dylib WinterBoardSettings Optimize
clean:
- rm -f WinterBoard WinterBoard.dylib
-
-WinterBoard.dylib: Library.mm makefile
- $(target)g++ -dynamiclib -g0 -O2 -Wall -Werror -o $@ $(filter %.mm,$^) -framework UIKit -framework CoreFoundation -framework Foundation -lobjc -init _WBInitialize -I/apl/inc/iPhoneOS-2.0
-
-WinterBoard: Application.mm makefile
- $(target)g++ -g0 -O2 -Wall -Werror -o $@ $(filter %.mm,$^) -framework UIKit -framework Foundation -framework CoreFoundation -lobjc -framework CoreGraphics
-
-package:
- rm -rf winterboard
- mkdir -p winterboard/DEBIAN
- mkdir -p winterboard/Applications/WinterBoard.app
- mkdir -p winterboard/Library/Themes/com.saurik.WinterBoard.Nature
- cp -a control preinst postinst prerm winterboard/DEBIAN
- cp -a Test.sh WinterBoard.dylib WinterBoard Info.plist ../pledit/pledit winterboard/Applications/WinterBoard.app
- cp -a Wallpaper.png Dock.png winterboard/Library/Themes/com.saurik.WinterBoard.Nature
- dpkg-deb -b winterboard winterboard_0.9.2498-1_iphoneos-arm.deb
+ rm -f WinterBoard.dylib WinterBoardSettings Optimize
+
+WinterBoardSettings: Settings.mm makefile
+ $(cycc) -std=c++11 -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)
+
+Optimize: Optimize.cpp makefile
+ $(cycc) $(filter %.cpp,$^)
+
+package: all
+ sudo ./package.sh
.PHONY: all clean package