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
# Tested with Microsoft C v.6.0ax, C/C++ v.7.0, Visual C++ v.1.5.
9
# Microsoft C v.5.1 chokes on some (definitively) ANSI constructs,
10
# like switch() with an expression of type long. Upgrade your compiler!
12
# You will need NMAKE.
14
# Use this file while in the lib directory with the following statement:
16
# nmake /f arch\msdos\Makefile.MS
19
# A debug version can be obtained with
21
# nmake DEBUG=1 /f arch\msdos\Makefile.MS
23
# A special version enabled to handle big fonts (with more than 16,384
24
# glyphs) can be obtained with
26
# nmake BIGFONTS=1 /f arch\msdos\Makefile.MS
29
# Copyright 1996-2002 by
30
# David Turner, Robert Wilhelm, and Werner Lemberg.
32
# This file is part of the FreeType project, and may only be used, modified,
33
# and distributed under the terms of the FreeType project license,
34
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
35
# indicate that you have read the license and understand and accept it
39
FT_MAKEFILE = $(ARCH)\Makefile.MS
45
CFLAGS = /Ox /AL /W0 /G2 /I$(ARCH) /I. /Iextend
47
CFLAGS = /Zi /AL /W0 /G2 /I$(ARCH) /I. /Iextend
52
CFLAGS = $(CFLAGS) /Za
55
TTMEMORY = .\ttmemory.c
57
CFLAGS = $(CFLAGS) /DTT_HUGE_PTR=huge /Ze
59
TTFILE = $(ARCH)\hugefile.c
60
TTMEMORY = $(ARCH)\hugemem.c
65
PORT = $(TTFILE) $(TTMEMORY) $(TTMUTEX)
67
OBJS_X = extend\ftxgasp.obj extend\ftxkern.obj extend\ftxpost.obj \
68
extend\ftxcmap.obj extend\ftxwidth.obj extend\ftxerr18.obj \
69
extend\ftxsbit.obj extend\ftxopen.obj extend\ftxgsub.obj \
70
extend\ftxgpos.obj extend\ftxgdef.obj
71
# the line below does not work with these old versions of nmake...
72
# OBJS_X = $(SRC_X:.c=.obj)
74
OBJS_M = ttapi.obj ttcache.obj ttcalc.obj ttcmap.obj ttdebug.obj \
75
ttgload.obj ttinterp.obj ttload.obj ttobjs.obj \
76
ttraster.obj ttextend.obj $(PORT) $(OBJS_X)
77
# OBJS_M = $(SRC_M:.c=.obj) $(OBJS_X)
79
# Not used here because the compiler runs out of memory...
80
OBJ_S = $(ARCH)\freetype.obj
81
#SRC_S = $(ARCH)\freetype.c
82
OBJS_S = $(OBJ_S) $(OBJS_X)
85
# Since Microsoft's NMAKE does not handle $($(LIB_FILES)), and using
86
# LIB_FILES="$(OBJS_S)" will excess the capacity of COMMAND.COM, we include
87
# each .obj in the library as soon as it is compiled. Better schemes are
88
# used in the other Makefile's, please give them a look.
90
$(CC) /c /Fo$@ $(CFLAGS) $*.c
91
$(LIB) libttf -+$*.obj;
95
# Skipped if DEBUG build
96
# (but it changes nothing, since we always build in multiple parts).
99
# $(LIB) libttf.lib @<<response
106
# $(LIB) libttf.lib @<<response
110
#$(OBJ_S): $(SRC_S) $(SRC_M)
112
# Not used here because it excesses the capacity of COMMAND.COM...
113
libttf.lib: $(LIB_FILES)
114
$(LIB) $@ +-$(?: =-+);
125
!include "$(ARCH)\depend.dos"