#
#
LFLAG=-Wl,-stack=5242880
WD=
CFLAGS=
RUNSCR=$(WD) runscr.def
TX=$(WD) tex.def
NT=$(WD) nttjtex.def
PE=$(WD) pdftex.def
PT=$(WD) ptex.def
MP=$(WD) mpost.def
PMP=$(WD) pmpost.def
UPMP=$(WD) upmpost.def
ALP=$(WD) aleph.def
LUA=$(WD) luatex.def
EPT=$(WD) eptex.def
DVIPDFMX=$(WD) dvipdfmx.def
LUAJIT=$(WD) luajittex.def
UPTEX=$(WD) uptex.def
EUPTEX=$(WD) euptex.def
XETEX=$(WD) xetex.def
HARFTEX=$(WD) harftex.def
LUAHBTEX=$(WD) luahbtex.def
LUAJITHBTEX=$(WD) luajithbtex.def

all: ptex.exe eptex.exe tex.exe jtex.exe uptex.exe euptex.exe \
     pdftex.exe mpost.exe pmpost.exe upmpost.exe aleph.exe luatex.exe \
     dvipdfmx.exe luajittex.exe xetex.exe runscr.exe harftex.exe \
     luahbtex.exe luajithbtex.exe

runscr.exe: runscr.o
	tcc $(CFLAGS) -o $@ $< $(RUNSCR) $(LFLAG)
	strip $@

uptex.exe: uptex.o
	tcc $(CFLAGS) -o $@ $< $(UPTEX) $(LFLAG)
	strip $@

euptex.exe: euptex.o
	tcc $(CFLAGS) -o $@ $< $(EUPTEX) $(LFLAG)
	strip $@

luajittex.exe: luajittex.o
	tcc $(CFLAGS) -o $@ $< $(LUAJIT) $(LFLAG)
	strip $@

dvipdfmx.exe: dvipdfmx.o
	tcc $(CFLAGS) -o $@ $< $(DVIPDFMX) $(LFLAG)
	strip $@

ptex.exe: ptex.o
	tcc $(CFLAGS) -o $@ $< $(PT) $(LFLAG)
	strip $@

eptex.exe: eptex.o
	tcc $(CFLAGS) -o $@ $< $(EPT) $(LFLAG)
	strip $@

tex.exe: tex.o
	tcc $(CFLAGS) -o $@ $< $(TX) $(LFLAG)
	strip $@

jtex.exe: jtex.o
	tcc $(CFLAGS) -o $@ $< $(NT) $(LFLAG)
	strip $@

pdftex.exe: pdftex.o
	tcc $(CFLAGS) -o $@ $< $(PE) $(LFLAG)
	strip $@

mpost.exe: mpost.o
	tcc $(CFLAGS) -o $@ $< $(MP) $(LFLAG)
	strip $@

pmpost.exe: pmpost.o
	tcc $(CFLAGS) -o $@ $< $(PMP) $(LFLAG)
	strip $@

upmpost.exe: upmpost.o
	tcc $(CFLAGS) -o $@ $< $(UPMP) $(LFLAG)
	strip $@

aleph.exe: aleph.o
	tcc $(CFLAGS) -o $@ $< $(ALP) $(LFLAG)
	strip $@

luatex.exe: luatex.o
	tcc $(CFLAGS) -o $@ $< $(LUA) $(LFLAG)
	strip $@

xetex.exe: xetex.o
	tcc $(CFLAGS) -o $@ $< $(XETEX) $(LFLAG)
	strip $@

harftex.exe: harftex.o
	tcc $(CFLAGS) -o $@ $< $(HARFTEX) $(LFLAG)
	strip $@

luahbtex.exe: luahbtex.o
	tcc $(CFLAGS) -o $@ $< $(LUAHBTEX) $(LFLAG)
	strip $@

luajithbtex.exe: luajithbtex.o
	tcc $(CFLAGS) -o $@ $< $(LUAJITHBTEX) $(LFLAG)
	strip $@

runscr.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllrunscrmain -c $<
uptex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dlluptexmain -c $<
euptex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dlleuptexmain -c $<
luajittex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllluajittexmain -c $<
dvipdfmx.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dlldvipdfmxmain -c $<
ptex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllptexmain -c $<
eptex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dlleptexmain -c $<
tex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dlltexmain -c $<
jtex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllnttjtexmain -c $<
pdftex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllpdftexmain -c $<
mpost.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllmpostmain -c $<
pmpost.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllpmpostmain -c $<
upmpost.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllupmpostmain -c $<
aleph.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllalephmain -c $<
luatex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllluatexmain -c $<
xetex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllxetexmain -c $<
harftex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllluatexmain -c $<
luahbtex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllluatexmain -c $<
luajithbtex.o: calldll.c
	tcc $(CFLAGS) -o $@ -DDLLPROC=dllluajittexmain -c $<
