cxx = clang++ cflags = -std=c++14 -g -Wall -I./include -I/usr/local/include -I/usr/include -Wno-unused-variable -mmacosx-version-min=10.10 ldflags = -framework CoreFoundation -framework Foundation -framework Cocoa -g -rdynamic pool link_pool depth = 4 rule cxx command = $cxx $cflags -c $in -o $out description = CC $out rule link command = $cxx $ldflags -o $out $in description = LINK $out pool = link_pool rule ar command = ar crsT $out $in description = AR $out rule cleanup command = rm -fr *.o clauncher I2PLauncher.app # TODO: There must exists a cleaner way to solve this. rule bundledir command = mkdir -p I2PLauncher.app/Contents/{MacOS,Resources,Frameworks} $ && cp Info.plist I2PLauncher.app/Contents/Info.plist $ && cp base.zip I2PLauncher.app/Contents/Resources/base.zip rule copytobundledir command = cp clauncher I2PLauncher.app/Contents/MacOS/I2PLauncher rule copyimgtobundle command = cp ItoopieTransparent.png I2PLauncher.app/Contents/Resources/ItoopieTransparent.png rule builddir command = mkdir -p build build main.o: cxx main.mm build StatusItemButton.o: cxx StatusItemButton.mm build JavaRunner.o: cxx JavaRunner.cpp build clean: cleanup build bundle: bundledir build copytobundle: copytobundledir | bundle clauncher build clauncher: link main.o StatusItemButton.o JavaRunner.o build appbundle: copyimgtobundle | clauncher bundle copytobundle default appbundle