##############
## Makefile ##
##############
#
#  Makefile for pak48.bitlit
#  Author: Nazalassa
#  Got inspiration from pak48.Excentrique makefile
#
##############

MAKEOBJ ?= ./makeobj

DESTDIR   ?= .
PAKDIR    ?= $(DESTDIR)/pak48.bitlit
ADDONDIR  ?= $(DESTDIR)/addons/pak48.bitlit
ADDONBASE ?= $(DESTDIR)/addons
THEMEDEST ?= $(DESTDIR)/addons/themes
PAKVERSION ?= "0.1b"
DESTFILE ?= pak48.bitlit_$(PAKVERSION)

COPYDIRS :=
COPYDIRS += config
COPYDIRS += scenario
COPYDIRS += sound
COPYDIRS += text

DIRS48 :=
DIRS48 += buildings
DIRS48 += city
DIRS48 += cursor
DIRS48 += goods
DIRS48 += industry
DIRS48 += menu
DIRS48 += misc
DIRS48 += symbols
DIRS48 += terrain
DIRS48 += vehicles
DIRS48 += wayobj
DIRS48 += ways
# Add more directories

DIRS64 :=
DIRS64 += symbols64

DIRS128 :=
DIRS128 += logo/big

THEMEDIR :=
THEMEDIR += theme

ADDONDIRS48 :=
ADDONDIRS48 += air



DIRS := $(DIRS48) $(DIRS64) $(DIRS128) #$(THEMEDIR)
ADDONDIRS := $(ADDONDIRS48)

all: version copy $(DIRS) $(ADDONDIRS) tar

archives: tar zip

tar: $(DESTFILE).tgz
zip: $(DESTFILE).zip

version:
	@echo "'-> version"
	@mkdir -p $(PAKDIR)
	@rm -f terrain/outside.dat
	@echo "Obj=ground" > terrain/outside.dat
	@echo "Name=Outside" >> terrain/outside.dat
	@echo "copyright=pak48.bitlit v$(PAKVERSION)" >> terrain/outside.dat
	@echo "Image[0][0]=outside.0.0" >> terrain/outside.dat
	@echo "---------------" >> terrain/outside.dat

copy: $(COPYDIRS)

clean:
	@echo "'-> clean"
	@rm -fr $(PAKDIR) $(THEMEDEST) $(DESTFILE).tar.gz $(DESTFILE).zip

sandwich:
	@echo "'-> sandwich"
	@if [ `id -u` -eq 0 ]; then echo "Making sandwich... done." ;\
	else echo "What? Make it yourself!" ; fi

$(DESTFILE).tgz: $(PAKDIR)
	@echo "'-> tgz $@"
	@touch $@ src.$@
	@tar czf $@ $(PAKDIR) $(ADDONBASE)
	@tar czf src.$@ --exclude='*.[zt][gi][zp]' .

$(DESTFILE).zip: $(PAKDIR)
	@echo "'-> zip $@"
	@zip -rq $@ $(PAKDIR) $(ADDONBASE)
	@zip -rq src.$@ $(DIRS) $(COPYDIRS) $(ADDONDIRS) Makefile CHANGELOG

$(COPYDIRS):
	@echo "'-> copy $@"
	@mkdir -p $(PAKDIR)/$@
	@if [ "`ls $@`" ]; then cp -p $@/* $(PAKDIR)/$@ ; fi

$(DIRS48):
	@echo "'-> pak48 $@"
	@mkdir -p $(PAKDIR)
	@$(MAKEOBJ) quiet PAK48 $(PAKDIR)/ $@/ > /dev/null

$(DIRS64):
	@echo "'-> pak64 $@"
	@mkdir -p $(PAKDIR)
	@$(MAKEOBJ) quiet PAK64 $(PAKDIR)/ $@/ > /dev/null

$(DIRS128):
	@echo "'-> pak128 $@"
	@mkdir -p $(PAKDIR)
	@$(MAKEOBJ) quiet PAK128 $(PAKDIR)/ $@/ > /dev/null

$(ADDONDIRS48):
	@echo "'-> pak48 $@ [addon]"
	@mkdir -p $(ADDONDIR)/text
	@if [ "`ls $@/text`" ]; then cp -p $@/text/* $(ADDONDIR)/text/ ; fi
	@$(MAKEOBJ) quiet PAK48 $(ADDONDIR)/ $@/ > /dev/null

$(THEMEDIR):
	@echo "'-> theme (pak48 $@)"
	@mkdir -p $(THEMEDEST)
	@$(MAKEOBJ) quiet PAK48 $(THEMEDEST)/theme.bitlit.pak $@/bitlit.dat > /dev/null
	@cp $@/*.tab $(THEMEDEST)
