home *** CD-ROM | disk | FTP | other *** search
Makefile | 1993-05-22 | 4.0 KB | 145 lines |
- # This file makes MF in its various incarnations.
-
- # It is a cut-down version of Makefile.in from the web2c distribution.
- # AMU seems to convert MF.p, MF.pas etc. into p.MF, pas.MF etc., so
- # some dependencies didn't work. Also, RISC OS doesn't have `sed', so
- # I've changed that small MF change file by hand.
-
- # So to make a MF from scratch you type:
- # 1) amu veryclean
- # 2) amu mf.p
- # 3) amu biginimf bigvirmf OR amu inimf virmf
- # N.B. When making a small MF, add -DSMALLMF to the CFLAGS
- # Then copy (big){inimf,virmf} to your executables directory, and
- # tex.pool to the pool directory. Note that mf.pool is the same for
- # the 32-bit and 16-bit versions.
-
- # Mark. (marks@stack.urc.tue.nl)
-
- # Routines used everywhere.
- commondefines=^.lib.common_def ^.lib.texmf_def
- commonh=^.lib.h.common ^.lib.h.texmfmem
- commono=^.lib.o.library
-
- # Routines used in TeX and Metafont.
- extrac=^.lib.c.texmf
- extrah=^.lib.h.texmf
-
- # Routines used in TeX, Metafont, and BibTeX.
- fileioc=^.lib.c.openinout
- fileioo=o.openinout
-
- objs=$(fileioo) o.mf0 o.mf1 o.mf2 o.mf3 o.mf4 o.mf5 o.mf6 o.mf7 \
- o.mf8 o.mf9
- iobjs=o.iextra o.inimf
- vobjs=o.vextra o.imf
-
- CC = cc
- CFLAGS = -throwback -W -DSMALLMF -f
- CPPFLAGS = -I^.lib
-
- CCLD = link
- LDFLAGS =
- libs = $(commono) C:o.Stubs $(extralibs)
-
- default: all
- all: biginimf bigvirmf
- triptrap: tripmf
-
- biginimf: $(iobjs) $(objs) $(commono)
- $(CCLD) -o biginimf $(LDFLAGS) $(iobjs) $(objs) $(libs)
- squeeze biginimf
-
- bigvirmf: $(vobjs) $(objs) $(commono)
- $(CCLD) -o bigvirmf $(LDFLAGS) $(vobjs) $(objs) $(libs)
- squeeze bigvirmf
-
- inimf: $(iobjs) $(objs) $(commono)
- $(CCLD) -o inimf $(LDFLAGS) $(iobjs) $(objs) $(libs)
- squeeze inimf
-
- virmf: $(vobjs) $(objs) $(commono)
- $(CCLD) -o virmf $(LDFLAGS) $(vobjs) $(objs) $(libs)
- squeeze virmf
-
- mf.p: mf.web mf.ch
- tangle mf.web mf.ch
-
- # The convert script produces the following:
- # c.mf0 c.mf1 c.mf2 c.mf3 c.mf4 c.mf5 c.mf6 c.mf7 c.mf8 c.mf9
- # c.imf h.coerce h.mfd, but AMU seems to want only one filename at
- # the start of the line. As all files are replaced by splitup, this isn't
- # much of a problem
- c.mf8: h.fixcoerce $(commondefines)
- convert
-
- # The (hand-coded) file $(extrac) and the (generated) file imf.c have
- # #ifdefs for INIMF, so we compile them differently.
- o.iextra: c.iextra
- $(CC) $(CPPFLAGS) -DINIMF -DINI $(CFLAGS) -c c.iextra
-
- o.inimf: c.inimf
- $(CC) $(CPPFLAGS) -DINIMF $(CFLAGS) -c c.inimf
-
- # Avoid compiling files in another directory.
- c.iextra: $(extrac)
- remove c.iextra
- copy $(extrac) c.iextra ~C~V
-
- c.inimf: c.imf
- remove c.inimf
- copy c.imf c.inimf ~C~V
-
- o.imf: c.imf $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c imf
-
- c.vextra: $(extrac)
- remove c.vextra
- copy $(extrac) c.vextra ~C~V
-
- o.vextra: c.vextra $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c vextra
-
- c.openinout: $(fileioc)
- remove c.openinout
- copy $(fileioc) c.openinout ~C~V
-
- o.openinout: c.openinout
- $(CC) $(CFLAGS) $(CPPFLAGS) -c openinout
-
- o.mf0: c.mf0 $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c mf0
- o.mf1: c.mf1 $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c mf1
- o.mf2: c.mf2 $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c mf2
- o.mf3: c.mf3 $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c mf3
- o.mf4: c.mf4 $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c mf4
- o.mf5: c.mf5 $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c mf5
- o.mf6: c.mf6 $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c mf6
- o.mf7: c.mf7 $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c mf7
- o.mf8: c.mf8 $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c mf8
- o.mf9: c.mf8 $(commonh) h.mfd
- $(CC) $(CFLAGS) $(CPPFLAGS) -c mf9
-
-
- veryclean: clean
- remove tripmf
- remove inimf
- remove biginimf
- remove virmf
- remove bigvirmf
-
- clean:
- wipe c.* ~CRV
- wipe o.* ~CRV
- remove h.coerce
- remove mf.p
- remove mf.pool
-