# are we on OSX?
ifeq ($(shell uname), Darwin)
OSX:=1
endif

ifdef OSX
INSTALL_BINDIR=Sable.app/Contents/MacOS
INSTALL_RESDIR=Sable.app/Contents/Resources
else
INSTALL_BINDIR=/usr/games/bin
INSTALL_RESDIR=/usr/share
endif
GAMES_USER=games
GAMES_GROUP=games

sable: make-sable

make-sable:
	INSTALL_RESDIR=$(INSTALL_RESDIR) $(MAKE) -C src sable
	cp src/sable .
ifdef OSX
	mkdir -p $(INSTALL_RESDIR)/sable
	mkdir -p $(INSTALL_BINDIR)
	mkdir -p release
	cp -R textures sfx music models $(INSTALL_RESDIR)/sable
	cp sable $(INSTALL_BINDIR)
	cp Info.plist Sable.app/Contents
	cp sable.icns $(INSTALL_RESDIR)
	cp -R Sable.app COPYING README ChangeLog release
	hdiutil create -ov -srcfolder release sable.dmg
endif

clean:
	$(MAKE) -C src clean
	rm -f sable
ifdef OSX
	rm -rf Sable.app
	rm -rf release
	rm -rf sable.dmg
endif

depend:
	$(MAKE) -C src depend

install: sable
	install -o $(GAMES_USER) -g $(GAMES_GROUP) sable $(INSTALL_BINDIR)
	if [ '!' -e $(INSTALL_RESDIR)/sable ]; then mkdir $(INSTALL_RESDIR)/sable; fi
	if [ '!' -e $(INSTALL_RESDIR)/sable/textures ]; then mkdir $(INSTALL_RESDIR)/sable/textures; fi
	if [ '!' -e $(INSTALL_RESDIR)/sable/sfx ]; then mkdir $(INSTALL_RESDIR)/sable/sfx; fi
	if [ '!' -e $(INSTALL_RESDIR)/sable/music ]; then mkdir $(INSTALL_RESDIR)/sable/music; fi
	if [ '!' -e $(INSTALL_RESDIR)/sable/models ]; then mkdir $(INSTALL_RESDIR)/sable/models; fi
	if [ -n "`ls models`" ]; then install -o $(GAMES_USER) -g $(GAMES_GROUP) models/* $(INSTALL_RESDIR)/sable/models; fi
	if [ -n "`ls textures`" ]; then install -o $(GAMES_USER) -g $(GAMES_GROUP) textures/* $(INSTALL_RESDIR)/sable/textures; fi
	if [ -n "`ls sfx`" ]; then install -o $(GAMES_USER) -g $(GAMES_GROUP) sfx/* $(INSTALL_RESDIR)/sable/sfx; fi
	if [ -n "`ls music`" ]; then install -o $(GAMES_USER) -g $(GAMES_GROUP) music/* $(INSTALL_RESDIR)/sable/music; fi

uninstall:
	rm -f $(INSTALL_BINDIR)/sable
	rm -rf $(INSTALL_RESDIR)/sable/models
	rm -rf $(INSTALL_RESDIR)/sable/textures
	rm -rf $(INSTALL_RESDIR)/sable/sfx
	rm -rf $(INSTALL_RESDIR)/sable/music
	rmdir $(INSTALL_RESDIR)/sable
