.PHONY: all build clean install tar 7z zip

MAKEOBJ = makeobj
CONFIG = config.mk
PAKSET = pak128
NAME = multiple-track
TARGET = way.$(NAME).pak
TEXT = ja-$(NAME).tab
DIST = $(HOME)/.simutrans/addons/$(PAKSET)
TARNAME = $(NAME).tar.xz
7ZNAME = $(NAME).7z
ZIPNAME = $(NAME).zip

-include $(CONFIG)

DAT = foundation-concrete.dat \
	foundation-concrete-elevated.dat \
	track-ballast-brown.dat \
	track-ballast-gray.dat \
	track-concrete-tie.dat \
	track-fiberglass-tie.dat \
	track-slab.dat

FOUNDATION_CONCRETE = foundation-concrete.png \
	foundation-concrete-front.png \
	foundation-concrete-elevated.png \
	foundation-concrete-elevated-front.png
TRACK = track-ballast-brown.png \
	track-ballast-gray.png \
	track-concrete-tie.png \
	track-fiberglass-tie.png \
	track-slab.png
PNG = $(FOUNDATION_CONCRETE) \
	$(TRACK) \
	multiple-track-icons.png

all: build
build: $(TARGET)

$(TARGET): $(DAT) $(PNG)
	$(MAKEOBJ) pak128 $@
$(FOUNDATION_CONCRETE): layers = "background"
foundation-concrete.png: layers += "back"
foundation-concrete-front.png: layers += "front"
foundation-concrete-elevated.png: layers += "back" "piers"
foundation-concrete-elevated-front.png: layers += "front" "pier2"
$(FOUNDATION_CONCRETE): foundation-concrete.xcf

$(TRACK): layers = "background" "track"
multiple-track-icons.png: layers = "background" "icon back" "icon" "switch mark"
$(TRACK) multiple-track-icons.png : %.png : %.xcf

$(PNG):
	./tmpl.sh 'layers=$(layers)' infile=\"$<\" outfile=\"$@\" genpng.scm | gimp -ib -

clean:
	rm -rf $(TARGET) $(PNG) $(TARNAME) $(7ZNAME) $(ZIPNAME) $(NAME)

install: $(TARGET) $(TEXT)
	mkdir -p $(DIST)/text
	cp $(TARGET) $(DIST)/$(TARGET)
	cp $(TEXT) $(DIST)/text

tar 7z zip: $(TARGET) $(TEXT) $(DAT) README.txt LICENSE.txt Makefile genpng.scm tmpl.sh $(wildcard *.xcf)

tar:
	tar -caf $(TARNAME) --transform='s,^,$(NAME)/,' $^
7z:
	rm -rf $(NAME); \
	mkdir $(NAME); \
	ln -s ${^:%=../%} $(NAME); \
	rm -f $(7ZNAME); \
	7z a -bd -l $(7ZNAME) ${^:%=$(NAME)/%}
zip:
	rm -rf $(NAME); \
	mkdir $(NAME); \
	ln -s ${^:%=../%} $(NAME); \
	rm -f $(ZIPNAME); \
	zip -9 $(ZIPNAME) ${^:%=$(NAME)/%}
