# Makefile for MicroSoft C version 4.0 and 5.0 for DVI driver family # # Targets: # all (build dvi*.exe) # 00arit dvialw dvibit dvican dvie72 dvieps dvigd dviimp # dvijep dvijet dvil3p dvil75 dvim72 dvimac dvimpi dvio72 # dvioki dviPGM dviprx dvitos keytst lptops texidx # clean (all but .exe files) # clean_all (including .exe files) # clean_exe # clean_dvi # clean_cer # clean_sym # clean_obj # # [15-Nov-87] -- merged separate makefiles for MicroSoft C into one, now # that MAKE has been rebuilt with MSC instead of Wizard C # and is finally big enough to handle a large makefile. # [21-Oct-87] -- added dvie72 and dvieps # [22-Sep-87] -- added generic target dviPGM (say "make PGM=foo" to build # dvifoo); add XCFLAGS to allow extra compile-time options # without having to respecify the long path variables # Targets for command-line requests... CC = cl XCFLAGS= PCFLAGS = -DOS_PCDOS -DIBM_PC_MICROSOFT # MSC Version 3.0 # CFLAGS=/AL/Zd/Od/W2 # MSC Version 4.0 -- add CodeView debugging option /Zi # CFLAGS=/AL/Zd/Od/W2/Zi/DLINT_ARGS$(XCFLAGS) # MSC Version 5.0 (needs spaces between options); MSC5 needed in gblprocs.h #CFLAGS= -AL -Zd -Oailt -W3 -Zi -DANSI_LIBRARY $(XCFLAGS) CFLAGS= -AL -Zd -Od -W3 -Zi -DANSI_LIBRARY $(XCFLAGS) # Loading this first will give wildcard expansion # where the MSC library is found DRIVE = C: MSCWILD=$(DRIVE)\SYS\MSC\LIB\LSETARGV.OBJ # Default stack is too small--increase STACKSIZE=0xb000 LINKFLAGS=/MAP/LINENUMBERS/ST:$(STACKSIZE) # Rules... .c.obj:; $(CC) -c $(CFLAGS) $*.c >$*.clg errshow <$*.clg >$*.cer del $*.clg .map.sym:; mapsym $* del $*.map RM = del # Source, object and executable file extensions C = .c O = .obj X = .exe DVIHEAD = dvihead.h machdefs.h typedefs.h HFILES = abortrun.h actfact.h alldone.h bitmap.h \ chargf.h charpk.h charpxl.h \ clrbmap.h clrrow.h commands.h dbgopen.h \ dispchar.h dumpchar.h dvifile.h dvihead.h \ dviinit.h dviterm.h f20open.h \ fatal.h fillrect.h findpost.h fixpos.h \ fontfile.h fontsub.h gblprocs.h gblvars.h \ gendefs.h getbmap.h getbytes.h getfntdf.h \ getpgtab.h inch.h initglob.h keydef.h \ loadchar.h machdefs.h main.h movedown.h \ moveover.h moveto.h nosignex.h openfont.h \ option.h outrow.h prtpage.h prxbmap.h \ readfont.h readgf.h readpk.h readpost.h \ readpxl.h reldfont.h rulepxl.h setchar.h \ setfntnm.h setrule.h signex.h skgfspec.h \ skipfont.h skpkspec.h special.h strchr.h \ strcm2.h strid2.h strrchr.h tctos.h \ typedefs.h usage.h warning.h MAIN = main.h commands.h gendefs.h gblprocs.h gblvars.h # Targets for command-line requests... all: dvialw dvibit dvican dvie72 dvieps dvigd dviimp dvijep\ dvijet dvil3p dvil75 dvim72 dvimac dvimpi dvio72 dvioki\ dviprx dvitos keytst lptops texidx clean: clean_obj clean_sym clean_cer clean_dvi clean_map clean_all: clean clean_exe clean_exe: del dvi*.exe del texidx.exe clean_dvi: del *.dvi clean_obj: del dvi*.obj del texidx.obj clean_map: del dvi*.map del texidx.map clean_sym: del dvi*.sym del texidx.sym clean_cer: del dvi*.cer del texidx.cer # Shorthands for executable targets 00arit: 00arit$(X) 00arit.sym dvialw: dvialw$(X) dvialw.sym dvibit: dvibit$(X) dvibit.sym dvican: dvican$(X) dvican.sym dvie72: dvie72$(X) dvie72.sym dvieps: dvieps$(X) dvieps.sym dvigd: dvigd$(X) dvigd.sym dviimp: dviimp$(X) dviimp.sym dvijep: dvijep$(X) dvijep.sym dvijet: dvijet$(X) dvijet.sym dvil3p: dvil3p$(X) dvil3p.sym dvil75: dvil75$(X) dvil75.sym dvim72: dvim72$(X) dvim72.sym dvimac: dvimac$(X) dvimac.sym dvimpi: dvimpi$(X) dvimpi.sym dvio72: dvio72$(X) dvio72.sym dvioki: dvioki$(X) dvioki.sym dvi$(PGM): dvi$(PGM)$(X) dvi$(PGM).sym dviprx: dviprx$(X) dviprx.sym dvitos: dvitos$(X) dvitos.sym keytst: keytst$(X) keytst.sym lptops: lptops$(X) lptops.sym texidx: texidx$(X) texidx.sym # Details for executable targets 00arit$(X): $(RM) 00arit$(O) $(RM) 00arit$(X) $(CC) -DSIZE=short $(CFLAGS) 00arit$(C) -o 00arit$(X) $(LFLAGS) 00arit$(X) $(RM) 00arit$(O) $(RM) 00arit$(X) $(CC) -DSIZE=int $(CFLAGS) 00arit$(C) -o 00arit$(X) $(LFLAGS) 00arit$(X) $(RM) 00arit$(O) $(RM) 00arit$(X) $(CC) -DSIZE=long $(CFLAGS) 00arit$(C) -o 00arit$(X) $(LFLAGS) 00arit$(X) $(RM) 00arit$(O) $(RM) 00arit$(X) dvialw$(X): dvialw$(O) cuseri$(O) link $(MSCWILD) $* cuseri,$*,$(LINKFLAGS); dvibit$(X): dvibit$(O) keybrd$(O) link $(MSCWILD) $* keybrd,$*,$(LINKFLAGS); dvican$(X): dvican$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvie72$(X): dvie72$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvieps$(X): dvieps$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvigd$(X): dvigd$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvijep$(X): dvijep$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvijet$(X): dvijet$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dviimp$(X): dviimp$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvil3p$(X): dvil3p$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvil75$(X): dvil75$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvim72$(X): dvim72$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvimac$(X): dvimac$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvimpi$(X): dvimpi$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvio72$(X): dvio72$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dvioki$(X): dvioki$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); dviprx$(X): dviprx$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); # Generic target (useful for debugging test versions) dvi$(PGM)$(X): dvi$(PGM)$(O) cuseri$(O) keybrd$(O) link $(MSCWILD) $* cuseri keybrd,$*,$(LINKFLAGS); dvitos$(X): dvitos$(O) link $(MSCWILD) $*,$*,$(LINKFLAGS); keytst$(X): keytst$(O) keybrd$(O) link $(MSCWILD) $* keybrd,$*,$(LINKFLAGS); lptops$(X): lptops$(O) cuseri$(O) link $(MSCWILD) $* cuseri,$*,$(LINKFLAGS); texidx$(X): texidx$(O) qsort$(O) link $(MSCWILD) $* qsort,$*,$(LINKFLAGS); # File dependencies... NB: A source file NEVER depends on another # source file, but an object file depends on a # source file and all the #include'd files in # that source file. dvialw$(O): dvialw.c\ $(DVIHEAD) $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h\ clrrow.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h findpost.h fixpos.h fontfile.h\ fontsub.h getbytes.h getfntdf.h getpgtab.h inch.h\ initglob.h movedown.h moveover.h moveto.h nosignex.h\ openfont.h option.h prtpage.h readfont.h readgf.h\ readpk.h readpost.h readpxl.h rulepxl.h setfntnm.h\ setrule.h signex.h skgfspec.h skipfont.h skpkspec.h\ strchr.h strcm2.h strid2.h strrchr.h tctos.h\ usage.h warning.h dvibit$(O): dvibit.c\ $(DVIHEAD) $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h\ clrrow.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h findpost.h fixpos.h fontfile.h\ fontsub.h getbytes.h getfntdf.h getpgtab.h inch.h\ initglob.h movedown.h moveover.h moveto.h nosignex.h\ openfont.h option.h prtpage.h readfont.h readgf.h\ readpk.h readpost.h readpxl.h rulepxl.h setfntnm.h\ setrule.h signex.h skgfspec.h skipfont.h skpkspec.h\ special.h strchr.h strcm2.h strid2.h strrchr.h\ tctos.h usage.h warning.h dvie72$(O): dvie72.c\ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dispchar.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h initglob.h inch.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h reldfont.h rulepxl.h setchar.h\ setfntnm.h setrule.h signex.h skgfspec.h skipfont.h\ skpkspec.h special.h strchr.h strcm2.h strid2.h\ strrchr.h tctos.h usage.h warning.h dvieps$(O): dvieps.c\ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dispchar.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h initglob.h inch.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h reldfont.h rulepxl.h setchar.h\ setfntnm.h setrule.h signex.h skgfspec.h skipfont.h\ skpkspec.h special.h strchr.h strcm2.h strid2.h\ strrchr.h tctos.h usage.h warning.h dvigd$(O): dvigd.c\ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dispchar.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h initglob.h inch.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h rulepxl.h setchar.h setfntnm.h\ setrule.h signex.h skgfspec.h skipfont.h skpkspec.h\ special.h strchr.h strcm2.h strid2.h strrchr.h\ tctos.h usage.h warning.h dviimp$(O): dviimp.c\ $(DVIHEAD) $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h\ clrrow.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h findpost.h fixpos.h\ fontfile.h fontsub.h getbytes.h getfntdf.h\ getpgtab.h inch.h initglob.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h rulepxl.h setfntnm.h setrule.h\ signex.h skgfspec.h skipfont.h skpkspec.h special.h\ strchr.h strcm2.h strid2.h strrchr.h tctos.h\ usage.h warning.h dvijep$(O): dvijep.c\ $(DVIHEAD) $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h\ clrrow.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h findpost.h fixpos.h\ fontfile.h fontsub.h getbytes.h getfntdf.h\ getpgtab.h inch.h initglob.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ prtpage.h readfont.h readgf.h readpk.h readpost.h\ readpxl.h rulepxl.h setfntnm.h setrule.h signex.h\ skgfspec.h skipfont.h skpkspec.h special.h strchr.h\ strcm2.h strid2.h strrchr.h tctos.h usage.h warning.h dvijet$(O): dvijet.c\ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dbgopen.h dispchar.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h initglob.h inch.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h rulepxl.h setchar.h setfntnm.h\ setrule.h signex.h skgfspec.h skipfont.h skpkspec.h\ special.h strchr.h strcm2.h strid2.h strrchr.h\ tctos.h usage.h warning.h dvil3p$(O): dvil3p.c\ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dispchar.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h inch.h initglob.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h reldfont.h rulepxl.h setchar.h\ setfntnm.h setrule.h signex.h skgfspec.h skipfont.h\ skpkspec.h special.h strchr.h strcm2.h strid2.h\ strrchr.h tctos.h usage.h warning.h dvil75$(O): dvil75.c\ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dispchar.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h inch.h initglob.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h reldfont.h rulepxl.h setchar.h\ setfntnm.h setrule.h signex.h skgfspec.h skipfont.h\ skpkspec.h special.h strchr.h strcm2.h strid2.h\ strrchr.h tctos.h usage.h warning.h dvim72$(O): dvim72.c \ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h\ actfact.h alldone.h chargf.h charpk.h charpxl.h\ clrbmap.h clrrow.h dispchar.h dbgopen.h dvifile.h\ dviinit.h dviterm.h f20open.h fatal.h fillrect.h\ findpost.h fixpos.h fontfile.h fontsub.h getbmap.h\ getbytes.h getfntdf.h getpgtab.h inch.h initglob.h\ loadchar.h movedown.h moveover.h moveto.h nosignex.h\ openfont.h option.h outrow.h prtpage.h readfont.h\ readgf.h readpk.h readpost.h readpxl.h rulepxl.h\ setchar.h setfntnm.h setrule.h signex.h skgfspec.h\ skipfont.h skpkspec.h special.h strchr.h strcm2.h\ strid2.h strrchr.h tctos.h usage.h warning.h dvimac$(O): dvimac.c\ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dispchar.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h inch.h initglob.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h reldfont.h rulepxl.h setchar.h\ setfntnm.h setrule.h signex.h skgfspec.h skipfont.h\ skpkspec.h special.h strchr.h strcm2.h strid2.h\ strrchr.h tctos.h usage.h warning.h dvimpi$(O): dvimpi.c\ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dispchar.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h inch.h initglob.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h reldfont.h rulepxl.h setchar.h\ setfntnm.h setrule.h signex.h skgfspec.h skipfont.h\ skpkspec.h special.h strchr.h strcm2.h strid2.h\ strrchr.h tctos.h usage.h warning.h dvio72$(O): dvio72.c\ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dispchar.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h inch.h initglob.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h reldfont.h rulepxl.h setchar.h\ setfntnm.h setrule.h signex.h skgfspec.h skipfont.h\ skpkspec.h special.h strchr.h strcm2.h strid2.h\ strrchr.h tctos.h usage.h warning.h dvioki$(O): dvioki.c\ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dispchar.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h inch.h initglob.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h reldfont.h rulepxl.h setchar.h\ setfntnm.h setrule.h signex.h skgfspec.h skipfont.h\ skpkspec.h special.h strchr.h strcm2.h strid2.h\ strrchr.h tctos.h usage.h warning.h dviprx$(O): dviprx.c\ $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dispchar.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h inch.h initglob.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h reldfont.h rulepxl.h setchar.h\ setfntnm.h setrule.h signex.h skgfspec.h skipfont.h\ skpkspec.h special.h strchr.h strcm2.h strid2.h\ strrchr.h tctos.h usage.h warning.h dvi$(PGM)$(O): dvi$(PGM).c $(HFILES) dvitos$(O): dvitos.c $(DVIHEAD) bitmap.h $(MAIN) abortrun.h actfact.h\ alldone.h chargf.h charpk.h charpxl.h clrbmap.h\ clrrow.h dispchar.h dbgopen.h dvifile.h dviinit.h dviterm.h\ f20open.h fatal.h fillrect.h findpost.h fixpos.h\ fontfile.h fontsub.h getbmap.h getbytes.h getfntdf.h\ getpgtab.h inch.h initglob.h loadchar.h movedown.h\ moveover.h moveto.h nosignex.h openfont.h option.h\ outrow.h prtpage.h readfont.h readgf.h readpk.h\ readpost.h readpxl.h reldfont.h rulepxl.h setchar.h\ setfntnm.h setrule.h signex.h skgfspec.h skipfont.h\ skpkspec.h special.h strchr.h strcm2.h strid2.h\ strrchr.h tctos.h usage.h warning.h # These object files need PCFLAGS, since they do not use machdefs.h to # select the operating system and compiler keybrd$(O): keybrd.c keydef.h $(CC) $(CFLAGS) $(PCFLAGS) keybrd.c >keybrd.clg errshow keybrd.cer del keybrd.clg keytst$(O): keytst.c keydef.h $(CC) $(CFLAGS) $(PCFLAGS) keytst.c >keytst.clg errshow keytst.cer del keytst.clg lptops$(O): lptops.c\ inch.h strcm2.h $(CC) $(CFLAGS) $(PCFLAGS) lptops.c >lptops.clg errshow lptops.cer del lptops.clg texidx$(O): texidx.c $(CC) $(CFLAGS) $(PCFLAGS) texidx.c >texidx.clg errshow texidx.cer del texidx.clg