#
#
LFLAG=-link /STACK:0x500000
WD=setargv.obj
CFLAGS=-nologo -Os -MD
RUNSCR=$(WD) runscr.lib
TX=$(WD) tex.lib
NT=$(WD) nttjtex.lib
PE=$(WD) pdftex.lib
PT=$(WD) ptex.lib
EPT=$(WD) eptex.lib
UPT=$(WD) uptex.lib
EUPT=$(WD) euptex.lib
MP=$(WD) mpost.lib
PMP=$(WD) pmpost.lib
UPMP=$(WD) upmpost.lib
ALP=$(WD) aleph.lib
LUA=$(WD) luatex.lib
DVIPDFMX=$(WD) dvipdfmx.lib
LUAJIT=$(WD) luajittex.lib
XETEX=$(WD) xetex.lib
HARFTEX=$(WD) harftex.lib
LUAHBTEX=$(WD) luahbtex.lib
LUAJITHBTEX=$(WD) luajithbtex.lib

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

xetex.exe: xetex.obj
	cl -Fe$@ $< $(XETEX) $(LFLAG)

runscr.exe: runscr.obj
	cl -Fe$@ $< $(RUNSCR) $(LFLAG)

luajittex.exe: luajittex.obj
	cl -Fe$@ $< $(LUAJIT) $(LFLAG)

dvipdfmx.exe: dvipdfmx.obj
	cl -Fe$@ $< $(DVIPDFMX) $(LFLAG)

ptex.exe: ptex.obj
	cl -Fe$@ $< $(PT) $(LFLAG)

eptex.exe: eptex.obj
	cl -Fe$@ $< $(EPT) $(LFLAG)

uptex.exe: uptex.obj
	cl -Fe$@ $< $(UPT) $(LFLAG)

euptex.exe: euptex.obj
	cl -Fe$@ $< $(EUPT) $(LFLAG)

tex.exe: tex.obj
	cl -Fe$@ $< $(TX) $(LFLAG)

jtex.exe: jtex.obj
	cl -Fe$@ $< $(NT) $(LFLAG)

pdftex.exe: pdftex.obj
	cl -Fe$@ $< $(PE) $(LFLAG)

mpost.exe: mpost.obj
	cl -Fe$@ $< $(MP) $(LFLAG)

pmpost.exe: pmpost.obj
	cl -Fe$@ $< $(PMP) $(LFLAG)

upmpost.exe: upmpost.obj
	cl -Fe$@ $< $(UPMP) $(LFLAG)

aleph.exe: aleph.obj
	cl -Fe$@ $< $(ALP) $(LFLAG)

luatex.exe: luatex.obj
	cl -Fe$@ $< $(LUA) $(LFLAG)

harftex.exe: harftex.obj
	cl -Fe$@ $< $(HARFTEX) $(LFLAG)

luahbtex.exe: luahbtex.obj
	cl -Fe$@ $< $(LUAHBTEX) $(LFLAG)

luajithbtex.exe: luajithbtex.obj
	cl -Fe$@ $< $(LUAJITHBTEX) $(LFLAG)


xetex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllxetexmain -c $<

runscr.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllrunscrmain -c $<

luajittex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllluajittexmain -c $<

dvipdfmx.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dlldvipdfmxmain -c $<

ptex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllptexmain -c $<

eptex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dlleptexmain -c $<

uptex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dlluptexmain -c $<

euptex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dlleuptexmain -c $<

tex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dlltexmain -c $<

jtex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllnttjtexmain -c $<

pdftex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllpdftexmain -c $<

mpost.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllmpostmain -c $<

pmpost.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllpmpostmain -c $<

upmpost.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllupmpostmain -c $<

aleph.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllalephmain -c $<

luatex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllluatexmain -c $<

harftex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllluatexmain -c $<

luahbtex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllluatexmain -c $<

luajithbtex.obj: calldll.c
	cl $(CFLAGS) -Fo$@ -DDLLPROC=dllluajittexmain -c $<
