diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2009-03-20 07:45:16 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2009-03-20 07:45:16 +0000 |
commit | 9c241c5d2d9413361d32567876c35b2b9e2754c9 (patch) | |
tree | 754aab0f779c0c574897fb6bd6f67f9d722c9ac2 /Build/source/libs/freetype/freetype-1.5/lib/arch/msdos/Makefile.BC | |
parent | 207e0fee56e671a0913674ee3f71701bb9d84768 (diff) |
new build system
git-svn-id: svn://tug.org/texlive/trunk@12446 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/freetype/freetype-1.5/lib/arch/msdos/Makefile.BC')
-rw-r--r-- | Build/source/libs/freetype/freetype-1.5/lib/arch/msdos/Makefile.BC | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/Build/source/libs/freetype/freetype-1.5/lib/arch/msdos/Makefile.BC b/Build/source/libs/freetype/freetype-1.5/lib/arch/msdos/Makefile.BC new file mode 100644 index 00000000000..4ef5f224c1f --- /dev/null +++ b/Build/source/libs/freetype/freetype-1.5/lib/arch/msdos/Makefile.BC @@ -0,0 +1,171 @@ +# This file is part of the FreeType project. +# +# It builds the library for Borland C++ for MS-DOS, large model. +# Due to size constraints, it does not try to pack all modules into one +# (`single-object mode'). +# +# You will need Borland MAKE. +# Tested with Borland C++ v.3.1, 4.02, 4.51, 5.02. +# See below for a note for Borland C++ 2.0, 3.0 or Turbo C++ 3.0. +# +# Use this file while in the lib directory with the following statement: +# +# make -farch/msdos/Makefile.BC +# +# +# A debug version can be obtained with +# +# make -DDEBUG -farch/msdos/Makefile.BC +# +# A special version enabled to handle big fonts (with more than 16,384 +# glyphs) can be obtained with +# +# make -DBIGFONTS -farch/msdos/Makefile.BC +# +# +# Copyright 1996-2001 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. +# +# +# Various notes about specific versions... +# +# NOTE: Borland C++ v. 2.0, 3.0, or Turbo C++ 3.0 +# +# There is something that will fail as it stands: the -i40 option +# passed to CFLAGS was not recognized until v.3.1, so the compiler +# will complain. So you should remove the -i40 option below. +# +# Also, __huge was not introduced before v.3.1, so if you want the +# BIGFONTS option, you should use _huge instead (and perhaps remove +# -A in CFLAGS). +# +# NOTE 2: Turbo C++ 3.0 +# +# You should write `CC=tcc' below, as it should be obvious. +# Alternatively, you can `set CC=tcc', then invoke make with -e. +# +# NOTE 3: Borland C++ 2.0 +# +# Not really very tested; expect problems with make (overflows). +# Alternatively, use Makefile.TC, replacing there tcc with bcc. + + +ARCH = arch\msdos +FT_MAKEFILE = $(ARCH)\Makefile.BC + +!if ! $d(CC) +CC = bcc +!endif + +LIB = tlib /c /e + +# Credits go to Dave Hoo <dhoo@flash.net> for pointing out that modern +# Borland compilers (from BC++ 3.1 on) can increase the limit on +# the length of identifiers. + +!if ! $d(DEBUG) +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 +!else +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 +!endif + + +!if $d(BIGFONTS) +CFLAGS = $(CFLAGS) -DTT_HUGE_PTR=__huge + +TTFILE = $(ARCH)\.\hugefile.c +TTMEMORY = $(ARCH)\.\hugemem.c +!else +TTFILE = .\ttfile.c +TTMEMORY = .\ttmemory.c +!endif +TTMUTEX = .\ttmutex.c + +PORT = $(TTFILE) $(TTMEMORY) $(TTMUTEX) + +# Do not insert spaces before the \ at end of line, +# otherwise the substitution for TLIB command line will fail. +SRC_X = extend\ftxgasp.c extend\ftxkern.c extend\ftxpost.c \ + extend\ftxcmap.c extend\ftxwidth.c extend\ftxerr18.c \ + extend\ftxsbit.c extend\ftxgsub.c extend\ftxgpos.c \ + extend\ftxopen.c extend\ftxgdef.c +OBJS_X = $(SRC_X:.c=.obj) + +SRC_M = ttapi.c ttcache.c ttcalc.c ttcmap.c \ + ttgload.c ttinterp.c ttload.c ttobjs.c \ + ttraster.c ttextend.c ttdebug.c $(PORT) +OBJS_M = $(SRC_M:.c=.obj) $(OBJS_X) + +SRC_S = $(ARCH)\.\freetype.c +OBJ_S = $(SRC_S:.c=.obj) +OBJS_S = $(OBJ_S) $(OBJS_X) + + +# Since Borland's make does not handle $($(LIB_FILES)), and using +# -DLIB_FILES="$(OBJS_S)" will excess the capacity of COMMAND.COM, we cheat +# by constructing TLIB's response file directly in the `all' target. +# +# Another solution, useful during debugging of part of the library, +# would be to include each .obj in the library as soon as it is compiled. +# It is commented out below. See Makefile.TC for an application. +.c.obj: + $(CC) -c -o$* @&&| + $(CFLAGS) $< +| +# $(LIB) libttf +-$*.obj + + +!if !$d(DEBUG) +# Skipped if DEBUG build +# (but it changes nothing, since we always build in multiple parts). +all: $(OBJS_M) + -del libttf.lib + $(LIB) libttf.lib @&&| ++ $(OBJS_M: = + ) +| + +!endif + + +debug: $(OBJS_M) + -del libttf.lib + $(LIB) libttf.lib @&&| ++ $(OBJS_M: = + ) +| + +$(OBJ_S): $(SRC_S) $(SRC_M) + +# Not used here because it excesses the capacity of COMMAND.COM... +libttf.lib: $(LIB_FILES) + -del libttf.lib + $(LIB) libttf.lib @&&| ++ $(**: = + ) +| + +!if $d(BIGFONTS) +$(TTMEMORY:.c=.obj): $(TTMEMORY) + $(CC) -c -o$* @&&| + $(CFLAGS) -A- $*.c +| +!endif + + +clean: + -del *.obj + -del extend\*.obj + -del $(ARCH)\*.obj + -del libttf.bak + -del response + +distclean: clean + -del libttf.lib + +!include "$(ARCH)\depend.dos" + +# end of Makefile |