git.fiddlerwoaroof.com
Raw Blame History
CCL=ccl

dylib: nsrect-expose.m
	clang -shared \
			-framework Cocoa \
			nsrect-expose.m \
			-o libnsrect-expose.dylib
demo-app: dylib
	$(CCL) --load ~/quicklisp/setup.lisp \
		--eval '(load (compile-file "objc-runtime.asd"))' \
		--eval '(ql:quickload :objc-runtime)' \
		--eval '(load (compile-file "demo-app.lisp"))' \
		--eval '(ccl:save-application "demo-app" :toplevel-function '"'"'demo-app::main :prepend-kernel t)'
		#--eval '(sb-ext:save-lisp-and-die "demo-app" :toplevel '"'"'demo-app::main :executable t)'

demo-app.iconset: demo-app.svg
	rm -rf demo-app.iconset
	mkdir -p demo-app.iconset
	rsvg-convert -h 16  demo-app.svg >	demo-app.iconset/icon_16x16.png
	rsvg-convert -h 32  demo-app.svg >	demo-app.iconset/icon_16x16@2x.png
	rsvg-convert -h 32  demo-app.svg >	demo-app.iconset/icon_32x32.png
	rsvg-convert -h 64  demo-app.svg >	demo-app.iconset/icon_32x32@2x.png
	rsvg-convert -h 64  demo-app.svg >	demo-app.iconset/icon_64x64.png
	rsvg-convert -h 128	demo-app.svg > demo-app.iconset/icon_64x64@2x.png
	rsvg-convert -h 128	demo-app.svg > demo-app.iconset/icon_128x128.png
	rsvg-convert -h 256	demo-app.svg > demo-app.iconset/icon_128x128@2x.png
	rsvg-convert -h 256	demo-app.svg > demo-app.iconset/icon_256x256.png
	rsvg-convert -h 512	demo-app.svg > demo-app.iconset/icon_256x256@2x.png
	rsvg-convert -h 512	demo-app.svg > demo-app.iconset/icon_512x512.png
mkapp: dylib demo-app demo-app.iconset
	rm -rf demo.app
	cp -R demo.app.template demo.app
	mkdir -p demo.app/Contents/{Resources,MacOS}
	iconutil -c icns demo-app.iconset -o demo.app/Contents/Resources/demo-app.icns
	ibtool --compile demo.app/Contents/Resources/MainMenu.nib MainMenu.xib
	cp demo-app demo.app/Contents/MacOS