
NAME = Consistent Keyboards
VERSION = 0.2
TARBASE = Consistent_Keyboards-$(VERSION)
PKGBASE = $(TARBASE)

CFLAGS = -Wall -DPAREN
CFLAGS = -Wall -arch i386 -arch ppc -DPACKAGE_VERSION="\"$(VERSION)\"" \
	-DPACKAGE_NAME="\"$(NAME)\""

SOURCES = Makefile daemon.c com.ljosa.consistent-keyboards.plist \
	config.plist postflight.sh uninstall.sh license.txt \
	Consistent_Keyboards.pmproj

all: daemon
		
daemon: daemon.o
	$(CC) $(CFLAGS) -o $@ $+ -framework ApplicationServices

build: daemon com.ljosa.consistent-keyboards.plist config.plist postflight.sh
	if [ -a build ]; then sudo rm -rf build; fi
	mkdir -p build/Library/LaunchDaemons/
	cp com.ljosa.consistent-keyboards.plist build/Library/LaunchDaemons/
	mkdir -p build/Library/"Application Support"/Ljosa/"$(NAME)"/
	cp daemon build/Library/"Application Support"/Ljosa/"$(NAME)"/"Consistent Keyboards Daemon"
	cp config.plist build/Library/"Application Support"/Ljosa/"$(NAME)"/
	mkdir -p scripts/
	cp postflight.sh scripts/postflight
	chmod 41775 build/Library
	sudo chown -R 0:0 build
	sudo chgrp 80 build/Library

dmg: $(PKGBASE).pkg
	mkdir -p "$(NAME) $(VERSION)"/
	cp -rp $(PKGBASE).pkg "$(NAME) $(VERSION)/$(NAME) $(VERSION).pkg"
	rm -f tmp.dmg
	hdiutil create -srcfolder "$(NAME) $(VERSION)" tmp.dmg
	rm -rf "$(NAME) $(VERSION)"/
	rm -f "$(TARBASE).dmg"
	hdiutil convert -format UDBZ -o "$(TARBASE).dmg" tmp.dmg
	rm tmp.dmg

dist: $(TARBASE).tar.gz

$(TARBASE).tar.gz: $(SOURCES)
	mkdir $(TARBASE)/
	cp $(SOURCES) $(TARBASE)/
	tar cvzf $(TARBASE).tar.gz $(TARBASE)
	rm -rf $(TARBASE)

distclean: clean
	rm -f *~

clean:
	rm -f daemon *.o $(TARBASE).tar.gz $(TARBASE).dmg
	rm -rf $(TARBASE) scripts "$(PKGBASE).pkg" "$(NAME) $(VERSION)"
	if [ -a build ]; then sudo rm -rf build; fi

