1
# This file is part of the FreeType project.
3
# It builds the library for Borland C++ for MS-DOS, large model.
4
# Due to size constraints, it does not try to pack all modules into one
5
# (`single-object mode').
7
# You will need Borland MAKE.
8
# Tested with Borland C++ v.3.1, 4.02, 4.51, 5.02.
9
# See below for a note for Borland C++ 2.0, 3.0 or Turbo C++ 3.0.
11
# Use this file while in the lib directory with the following statement:
13
# make -farch/msdos/Makefile.BC
16
# A debug version can be obtained with
18
# make -DDEBUG -farch/msdos/Makefile.BC
20
# A special version enabled to handle big fonts (with more than 16,384
21
# glyphs) can be obtained with
23
# make -DBIGFONTS -farch/msdos/Makefile.BC
26
# Copyright 1996-2001 by
27
# David Turner, Robert Wilhelm, and Werner Lemberg.
29
# This file is part of the FreeType project, and may only be used, modified,
30
# and distributed under the terms of the FreeType project license,
31
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
32
# indicate that you have read the license and understand and accept it
36
# Various notes about specific versions...
38
# NOTE: Borland C++ v. 2.0, 3.0, or Turbo C++ 3.0
40
# There is something that will fail as it stands: the -i40 option
41
# passed to CFLAGS was not recognized until v.3.1, so the compiler
42
# will complain. So you should remove the -i40 option below.
44
# Also, __huge was not introduced before v.3.1, so if you want the
45
# BIGFONTS option, you should use _huge instead (and perhaps remove
48
# NOTE 2: Turbo C++ 3.0
50
# You should write `CC=tcc' below, as it should be obvious.
51
# Alternatively, you can `set CC=tcc', then invoke make with -e.
53
# NOTE 3: Borland C++ 2.0
55
# Not really very tested; expect problems with make (overflows).
56
# Alternatively, use Makefile.TC, replacing there tcc with bcc.
60
FT_MAKEFILE = $(ARCH)\Makefile.BC
68
# Credits go to Dave Hoo <dhoo@flash.net> for pointing out that modern
69
# Borland compilers (from BC++ 3.1 on) can increase the limit on
70
# the length of identifiers.
73
CFLAGS = -ml -A -O2 -3 -i40 -w-nak -w-par -w-use -w-aus -w-stu -w-stv -w-cln -w-sig -I$(ARCH);.;extend
75
CFLAGS = -v -N -ml -A -i40 -w-nak -w-par -w-use -w-aus -w-stu -w-stv -w-cln -w-sig -I$(ARCH);.;extend
80
CFLAGS = $(CFLAGS) -DTT_HUGE_PTR=__huge
82
TTFILE = $(ARCH)\.\hugefile.c
83
TTMEMORY = $(ARCH)\.\hugemem.c
86
TTMEMORY = .\ttmemory.c
90
PORT = $(TTFILE) $(TTMEMORY) $(TTMUTEX)
92
# Do not insert spaces before the \ at end of line,
93
# otherwise the substitution for TLIB command line will fail.
94
SRC_X = extend\ftxgasp.c extend\ftxkern.c extend\ftxpost.c \
95
extend\ftxcmap.c extend\ftxwidth.c extend\ftxerr18.c \
96
extend\ftxsbit.c extend\ftxgsub.c extend\ftxgpos.c \
97
extend\ftxopen.c extend\ftxgdef.c
98
OBJS_X = $(SRC_X:.c=.obj)
100
SRC_M = ttapi.c ttcache.c ttcalc.c ttcmap.c \
101
ttgload.c ttinterp.c ttload.c ttobjs.c \
102
ttraster.c ttextend.c ttdebug.c $(PORT)
103
OBJS_M = $(SRC_M:.c=.obj) $(OBJS_X)
105
SRC_S = $(ARCH)\.\freetype.c
106
OBJ_S = $(SRC_S:.c=.obj)
107
OBJS_S = $(OBJ_S) $(OBJS_X)
110
# Since Borland's make does not handle $($(LIB_FILES)), and using
111
# -DLIB_FILES="$(OBJS_S)" will excess the capacity of COMMAND.COM, we cheat
112
# by constructing TLIB's response file directly in the `all' target.
114
# Another solution, useful during debugging of part of the library,
115
# would be to include each .obj in the library as soon as it is compiled.
116
# It is commented out below. See Makefile.TC for an application.
121
# $(LIB) libttf +-$*.obj
125
# Skipped if DEBUG build
126
# (but it changes nothing, since we always build in multiple parts).
129
$(LIB) libttf.lib @&&|
138
$(LIB) libttf.lib @&&|
142
$(OBJ_S): $(SRC_S) $(SRC_M)
144
# Not used here because it excesses the capacity of COMMAND.COM...
145
libttf.lib: $(LIB_FILES)
147
$(LIB) libttf.lib @&&|
152
$(TTMEMORY:.c=.obj): $(TTMEMORY)
169
!include "$(ARCH)\depend.dos"