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 /MT /GF /Gy /Ox /W4 /DMSDOS /DTeX /DPHARLAP /DNDEBUG \
29 # /I"libharu/include" /I"libharu/win32/include"
31 # CFLAGS=/c /Ge /Gy /Gf /Od /Zi /W4 /DMSDOS /DTeX /DPHARLAP /Ilib /YX
33 # NOTE: -Ox => -Ogityb1 -Gs
36 # LFLAGS=@yandytex.nt /MAP lib\libdos.lib
38 # LFLAGS=/MAP lib\libdos.lib
42 # LFLAGS=@yandytex.nt /MAP /DEBUG /PDB:yandytex.pdb lib\libdos.lib
43 # LFLAGS=/MAP /DEBUG /PDB:yandytex.pdb
45 objs = texmf.obj itex.obj openinou.obj subroute.obj local.obj \
46 tex0.obj tex1.obj tex2.obj tex3.obj tex4.obj \
47 tex5.obj tex6.obj tex7.obj tex8.obj tex9.obj \
48 yandy_pool.obj yandytex.res md5.obj md5file.obj
50 # ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
52 # lib/libhpdf/libhpdf.lib lib/zlib/zlib.lib
55 $(LINK) $(LFLAGS) texmf itex openinou subroute local \
56 tex0 tex1 tex2 tex3 tex4 tex5 tex6 tex7 tex8 tex9 \
57 yandy_pool yandytex.res md5 md5file kpathsea\kpathsea.lib
58 # kpathsea\kpathsea.lib libharu\libhpdf.lib libpng\libpng.lib zlib\zlib.lib
59 copy texmf.exe yandytex.exe
60 del ..\yandy\bin\texmf.exe
61 copy texmf.exe ..\yandy\bin\texmf.exe
62 # ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
64 $(CC) -Ilibmd5 $(CFLAGS) libmd5\md5.c
66 md5file.obj: md5file.c
67 $(CC) -Ilibmd5 $(CFLAGS) md5file.c
69 yandytex.res: yandytex.rc
73 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
74 $(CC) /DINITEX /DINI $(CFLAGS) texmf.c
77 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
78 $(CC) /DINITEX $(CFLAGS) itex.c
80 openinou.obj: openinou.c \
81 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
82 $(CC) $(CFLAGS) openinou.c
84 subroute.obj: subroute.c \
85 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
86 $(CC) $(CFLAGS) subroute.c
89 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
90 $(CC) /DINITEX $(CFLAGS) local.c
92 # NOTE: cannot compile tex5.c and tex6.c with full optimizations ...
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
113 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
116 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
119 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
122 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h
124 yandy_pool.obj: yandy_pool.c \
125 texd.h texmf.h texmfmem.h coerce.h lib.h config.h common.h