gtc/pch/Makefile
2018-01-31 14:14:00 +00:00

82 lines
2.5 KiB
Makefile

# - no, it's not a true makefile...
# - yes, it's a .bat quick-and-dirtily converted to a makefile
# :-b
BIN=$(shell pwd)/../bin
MERGE=perl script/merge.pl
PCHMK=$(BIN)/pchmaker
DAT89=$(BIN)/dat89y -e HDR
O2EXT=$(BIN)/obj2ti -x
PCHFILES = stdhead.pch keywords.pch estack.pch estackle.pch events.pch homescr.pch tiosdlg.pch wingraph.pch xupaki.pch #gen.pch extgraph.pch
TIPCHFILES = $(patsubst %.pch,%.89y,$(PCHFILES))
all: src/* srcdata/* subprojects/xupaki.pch
$(RM) lex.txt *.pchsource
cp src/lex.txt src/*.pchsource .
$(MAKE) $(TIPCHFILES) $(PCHFILES)
$(RM) lex.txt pchlog.txt *.pchsource
touch all
stdhead.pchsource: src/*
$(MERGE) src/stdhead-light.pchmerge
tiosdlg.pchsource: src/*
$(MERGE) src/tiosdlg-merge.pchmerge
keywords.pch: keywords.pchsource extfiles
$(PCHMK) $<
stdhead.pch: stdhead.pchsource extfiles
$(PCHMK) $<
estackle.pch: estackle.pchsource stdhead.pch extfiles
$(PCHMK) -istdhead.def $<
estack.pch: estack.pchsource stdhead.pch estackle.pch extfiles
$(PCHMK) -istdhead.def -iestackle.def $<
events.pch: events.pchsource stdhead.pch extfiles
$(PCHMK) -istdhead.def $<
homescr.pch: homescr.pchsource stdhead.pch extfiles
$(PCHMK) -istdhead.def $<
tiosdlg.pch: tiosdlg.pchsource stdhead.pch extfiles
$(PCHMK) -istdhead.def $<
wingraph.pch: wingraph.pchsource stdhead.pch extfiles
$(PCHMK) -istdhead.def $<
#gen.pch: srcdata/gen.pch
# cp $< $@
#extgraph.pch: srcdata/extgraph.pch
# cp $< $@
xupaki.pch: subprojects/xupaki.pch
cp $< $@
%.89y: %.pch
$(DAT89) -f zheader $<
clean:
$(RM) lex.txt pchlog.txt *.pchsource
$(RM) extfiles
$(RM) -r a2ext
distclean: clean
scratchclean: distclean
$(RM) *.pch *.89y *.def subprojects/*.pch all
include ../config.mk
install: all
mkdir -p $(prefix)/share/gtc/include
install -m 644 *.pch $(prefix)/share/gtc/include
try-import-tigcc-archive:
mv -f src/tigcc-archive/tigcc.a srcdata/tigcc.a&&rm -f src/tigcc-archive/*.o||true
srcdata/tigcc.a: try-import-tigcc-archive
extfiles: srcdata/*
$(RM) -r a2ext
mkdir a2ext
sh -c 'cd a2ext && ar x ../srcdata/tigcc.a'
cp srcdata/export.dat srcdata/*.ext srcdata/*.ref a2ext
$(MAKE) -C a2ext -f ../ext.mk O2EXT="$(O2EXT)"
touch extfiles
subprojects/xupaki.pch: subprojects/xupaki/xupaki.pchsource subprojects/xupaki/unpack2.o
$(RM) -r subprojects/xupaki/a2ext
mkdir subprojects/xupaki/a2ext
sh -c 'cd subprojects/xupaki/a2ext && cp ../export.dat ../*.o . && for i in *.o; do $(O2EXT) "$$i"; done'
sh -c 'cd subprojects/xupaki && $(PCHMK) xupaki.pchsource && rm -f pchlog.txt xupaki.def && mv xupaki.pch ..'