## Makefile fir METAFONT (Win32 version)		-*- Makefile -*-
## Time-stamp: "97/08/04 00:12:07 mik"

!include ..\miktex.inc

srcdir = .
basedir = $(prefix)\miktex\base
mf_web = mf.web

.c.obj:
	$(CC) -c -I$(srcdir) -I$(libdir) -DMIKTEX_DLL $(release_info) \
		-MD -Od $(cflags) $(CFLAGS) $<

all: mf.pool inimf.exe virmf.exe plain.base traptest

mf.pool: mf.win32-changes $(mf_web)
	$(TANGLE) $(mf_web) $(srcdir)\mf.win32-changes nul $@

trapmf.exe: trapmf.obj $(libdir)\miktex.lib trapmf.res
	link $(ldflags) $(LDFLAGS) -out:$@ $**

trapmf.res: trapmf.rc $(libdir)\miktex.version $(libdir)\version.h
	rc -I$(libdir) trapmf.rc

inimf.exe: inimf.obj $(libdir)\miktex.lib inimf.res
	link $(ldflags) $(LDFLAGS) -out:$@ $**

inimf.res: inimf.rc $(libdir)\miktex.version $(libdir)\version.h
	rc -I$(libdir) inimf.rc

virmf.exe: virmf.obj $(libdir)\miktex.lib virmf.res
	link $(ldflags) $(LDFLAGS) -out:$@ $**

virmf.res: virmf.rc $(libdir)\miktex.version $(libdir)\version.h
	rc -I$(libdir) virmf.rc

trapmf.c trapmf.h: trapmf.p $(libdir)\texmf-common.c
	$(C4P) $(C4PFLAGS) --rename link --rename index \
		--include-filename=miktex.h --one=trapmf trapmf.p
	type $(libdir)\texmf-common.c >> trapmf.c

trapmf.p: $(mf_web) trapmf.ch
	$(TANGLE) $(mf_web) trapmf.ch trapmf.p nul

trapmf.ch: mf.win32-changes ini2trap.sed
	sed -f $(srcdir)\ini2trap.sed $(srcdir)\mf.win32-changes > $@

inimf.c inimf.h: inimf.p $(libdir)\texmf-common.c
	$(C4P) $(C4PFLAGS) --rename link --rename index \
		--include-filename=miktex.h --one=inimf inimf.p
	type $(libdir)\texmf-common.c >> inimf.c

inimf.p: $(mf_web) mf.win32-changes
	$(TANGLE) $(mf_web) mf.win32-changes inimf.p nul

virmf.c virmf.h: virmf.p $(libdir)\texmf-common.c
	$(C4P) $(C4PFLAGS) --rename link --rename index \
		--include-filename=miktex.h --one=virmf virmf.p
	type $(libdir)\texmf-common.c >> virmf.c

virmf.p: $(mf_web) virmf.ch
	$(TANGLE) $(mf_web) virmf.ch virmf.p nul

virmf.ch: mf.win32-changes ini2vir.sed
	sed -f $(srcdir)\ini2vir.sed $(srcdir)\mf.win32-changes > $@

traptest: mf.pool trapmf.exe
	copy trap\trap.mf .>nul
	-.\trapmf <trap\traptest.s2 >nul
	-diff trap\trapin.log trap.log
	-.\trapmf <trap\traptest.s3 >trap.fot
	-diff trap\trap.fot trap.fot
	-diff trap\trap.log trap.log
	$(GFTYPE) trap.72270gf <trap\traptest.s5 >trap.typ
	-diff trap\trap.typ trap.typ
	$(TFTOPL) trap.tfm trap.pl
	-diff trap\trap.pl trap.pl

plain.base: inimf.exe
	.\inimf plain; input modes; dump

install: mf.pool inimf.exe virmf.exe traptest plain.base
	$(INSTALL_DATA) mf.pool $(basedir)\mf.pool
	$(INSTALL_DATA) plain.base $(basedir)\plain.base
	$(INSTALL_PROGRAM) inimf.exe $(bindir)\inimf.exe
	$(INSTALL_PROGRAM) virmf.exe $(bindir)\virmf.exe

uninstall:

traptest-clean:
	-del trap.72270gf
	-del trap.base
	-del trap.fot
	-del trap.log
	-del trap.mf
	-del trap.pl
	-del trap.tfm
	-del trap.typ

mostlyclean:
	-del *.obj
	-del trapmf.ch
	-del virmf.ch
	-del trapmf.c
	-del trapmf.h
	-del virmf.c
	-del virmf.h
	-del inimf.c
	-del inimf.h
	-del *.p
	-del *.res

clean: mostlyclean traptest-clean
	-del *.exe
	-del *.ilk
	-del *.pdb
	-del mf.pool
	-del plain.base
	-del plain.log

distclean: clean
	-del *.opt
	-del makefile.win32.bak

realclean: distclean

depend: trapmf.c inimf.c virmf.c
	makedepend -f makefile.win32 -I. -I..\lib $**

# DO NOT DELETE

trapmf.obj: ..\lib\miktex.h ..\lib\c4plib.h trapmf.h
inimf.obj: ..\lib\miktex.h ..\lib\c4plib.h inimf.h
virmf.obj: ..\lib\miktex.h ..\lib\c4plib.h virmf.h
