contrib/OWB: add correct SDL dependency, fix compilers used
[AROS-Contrib.git] / freetype1 / lib / arch / msdos / Makefile.MS
blob3c793faff94c959644902f4e875d75405573c0b9
1 # This file is part of the FreeType project.
3 # It builds the library for Microsoft C for MS-DOS, large model.
4 # It also works for Visual C++ 1.x 16-bits compiler, but you should
5 # instead use the Makefile customized for it, Makefile.VC.
6 # Due to size constraints, it does not try to pack all modules into one.
8 # You will need NMAKE.
10 # Use this file while in the lib directory with the following statement:
12 #   nmake /f arch\msdos\Makefile.MS
15 # A debug version can be obtained with
17 #   nmake DEBUG=1 /f arch\msdos\Makefile.MS
19 # A special version enabled to handle big fonts (with more than 16,384
20 # glyphs) can be obtained with
22 #   nmake BIGFONTS=1 /f arch\msdos\Makefile.MS
24 ARCH = arch\msdos
25 FT_MAKEFILE = $(ARCH)\Makefile.MS
27 CC = cl /nologo
28 LIB = lib /noignorecase /nologo
30 !ifndef DEBUG
31 CFLAGS = /Ox /AL /W2 /G2 /I$(ARCH) /I. /Iextend
32 !else
33 CFLAGS = /Zi /AL /W2 /G2 /I$(ARCH) /I. /Iextend
34 !endif
37 !ifndef BIGFONTS
38 CFLAGS = $(CFLAGS) /Za
40 TTFILE = .\ttfile.c
41 TTMEMORY = .\ttmemory.c
42 !else
43 CFLAGS = $(CFLAGS) /DTT_HUGE_PTR=__huge /Ze
45 TTFILE = $(ARCH)\hugefile.c
46 TTMEMORY = $(ARCH)\hugemem.c
47 !endif
49 TTMUTEX = .\ttmutex.c
51 PORT = $(TTFILE) $(TTMEMORY) $(TTMUTEX)
53 # Do not insert spaces between the file names or at end of line, otherwise
54 # the substitution for LIB command line will fail. Thank you.
56 SRC_X = extend\ftxgasp.c extend\ftxkern.c extend\ftxpost.c\
57 extend\ftxcmap.c extend\ftxwidth.c extend\ftxerr18.c extend\ftxsbit.c\
58 extend\ftxopen.c extend\ftxgsub.c extend\ftxgpos.c extend\ftxgdef.c
59 OBJS_X = $(SRC_X:.c=.obj)
61 SRC_M = ttapi.c ttcache.c ttcalc.c ttcmap.c ttdebug.c\
62 ttgload.c ttinterp.c ttload.c ttobjs.c ttraster.c ttextend.c $(PORT)
63 OBJS_M = $(SRC_M:.c=.obj) $(OBJS_X)
65 SRC_S = $(ARCH)\freetype.c
66 OBJ_S = $(SRC_S:.c=.obj)
67 OBJS_S = $(OBJ_S) $(OBJS_X)
70 # Since Microsoft's NMAKE does not handle $($(LIB_FILES)), and using
71 # LIB_FILES="$(OBJS_S)" will excess the capacity of COMMAND.COM, we cheat
72 # by constructing LIB's response file directly in the `all' target.
74 # Another solution, useful during debugging of part of the library,
75 # would be to include each .obj in the library as soon as it is compiled.
76 # It is commented out below.  See Makefile.TC for an application.
77 .c.obj:
78         @$(CC) /c /Fo$@ @<<
79             $(CFLAGS) $*.c
81 #       $(LIB) libttf +-$*.obj
84 !ifndef DEBUG
85 # Skipped if DEBUG build
86 #   (but it changes nothing, since we always build in multiple parts).
87 all: $(OBJS_M)
88         -del libttf.lib
89         $(LIB) libttf.lib @<<response
90 + $(OBJS_M: = ^ );
91 <<KEEP
92 !endif
94 debug: $(OBJS_M)
95         -del libttf.lib
96         $(LIB) libttf.lib @<<response
97 + $(OBJS_M: = ^ );
98 <<KEEP
100 $(OBJ_S): $(SRC_S) $(SRC_M)
102 # Not used here because it excesses the capacity of COMMAND.COM...
103 libttf.lib: $(LIB_FILES)
104         $(LIB) $@ +-$(?: =-+);
106 clean:
107         -del *.obj
108         -del extend\*.obj
109         -del $(ARCH)\*.obj
110         -del response
112 distclean: clean
113         -del libttf.lib
115 !include "$(ARCH)\depend.dos"
117 # end of Makefile.MS