1 # Copyright 2007 TeX Users Group.
2 # Copyright 2014 Clerk Ma.
4 # You may freely use, modify and/or distribute this file.
8 # TO SET UP DEBUGGING INFO:
9 # (1) add -Zi to CFLAGS for CL
10 # (2) add /MAP /DEBUG /PDB:yandytex.pdb for LINK
12 # NOTE: full optimization causes some problems especially in TEX5.C & TEX6.C
13 # NOTE: assuming no aliasing causes some problems especially in TEXMF.C
19 # -Gf saves about 7k bytes in EXE file
21 # For production (-Bd show compiler passes)
22 # ASSUMING WE WORK WITH MS COMPILER AND LINKER ONLY use -Gy and -Gf
23 # CFLAGS=-c -DDOS -DMSDOS -DPHARLAP -DTeX -DMYDEBUG -Ilib -Ox -Gy -Gf -W3
24 # CFLAGS=-c -DDOS -DMSDOS -DPHARLAP -DTeX -DMYDEBUG -Ilib -YX -Ox -Ge -Gy -Gf -W4
26 # CFLAGS=/c /Ge /Gy /Gf /Ox /W4 /DMSDOS /DTeX /DPHARLAP /DNDEBUG /Ilib /YX
27 CFLAGS=/nologo /c /Gy /Ox /W4 /DMSDOS /DTeX /DPHARLAP /DNDEBUG
29 # CFLAGS=/c /Ge /Gy /Gf /Od /Zi /W4 /DMSDOS /DTeX /DPHARLAP /Ilib /YX
31 # NOTE: -Ox => -Ogityb1 -Gs
34 # LFLAGS=@yandytex.nt /MAP lib\libdos.lib
36 # LFLAGS=/MAP lib\libdos.lib
37 LFLAGS=/MAP /MACHINE:X86
39 # LFLAGS=@yandytex.nt /MAP /DEBUG /PDB:yandytex.pdb lib\libdos.lib
40 # LFLAGS=/MAP /DEBUG /PDB:yandytex.pdb
42 objs = texmf.obj itex.obj openinou.obj subroute.obj local.obj \
43 tex0.obj tex1.obj tex2.obj tex3.obj tex4.obj \
44 tex5.obj tex6.obj tex7.obj tex8.obj tex9.obj yandytex.res
46 # ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
48 # lib/libhpdf/libhpdf.lib lib/zlib/zlib.lib
51 $(LINK) $(LFLAGS) texmf itex openinou subroute local \
52 tex0 tex1 tex2 tex3 tex4 tex5 tex6 tex7 tex8 tex9 yandytex.res
53 copy texmf.exe yandytex.exe
54 del ..\yandy\bin\texmf.exe
55 copy texmf.exe ..\yandy\bin\texmf.exe
56 # ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
57 yandytex.res: yandytex.rc
61 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
62 $(CC) /DINITEX /DINI $(CFLAGS) texmf.c
65 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
66 $(CC) /DINITEX $(CFLAGS) itex.c
68 openinou.obj: openinou.c \
69 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
70 $(CC) $(CFLAGS) openinou.c
72 subroute.obj: subroute.c \
73 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
74 $(CC) $(CFLAGS) subroute.c
77 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
78 $(CC) /DINITEX $(CFLAGS) local.c
80 # NOTE: cannot compile tex5.c and tex6.c with full optimizations ...
83 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
86 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
89 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
92 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
95 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
98 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
101 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
104 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
107 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
110 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h