cxx = clang++ cflags = -std=c++14 -g -Wall -I./include -I./include/neither -I/usr/local/include -I/usr/include $ -Wno-unused-function -Wno-incomplete-implementation -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 $ && cp ../target/scala-2.11/routerLauncher-assembly-0.1.0-SNAPSHOT.jar I2PLauncher.app/Contents/Resources/launcher.jar 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 RouterTask.o: cxx RouterTask.mm build clean: cleanup build bundle: bundledir build copytobundle: copytobundledir | bundle clauncher build clauncher: link main.o StatusItemButton.o RouterTask.o build appbundle: copyimgtobundle | clauncher bundle copytobundle default appbundle