2 # Makefile for FreeType2 link library using Amiga SAS/C 6.58
6 # Copyright 2005,2006, 2007, 2009 by
7 # Werner Lemberg and Detlef Würkner.
9 # This file is part of the FreeType project, and may only be used, modified,
10 # and distributed under the terms of the FreeType project license,
11 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
12 # indicate that you have read the license and understand and accept it
16 # to build from the builds/amiga directory call
21 # Your programs source code should start with this
22 # (uncomment the parts you do not need to keep the program small):
24 #define FT_USE_AUTOFIT // autofitter
25 #define FT_USE_RASTER // monochrome rasterizer
26 #define FT_USE_SMOOTH // anti-aliasing rasterizer
27 #define FT_USE_TT // truetype font driver
28 #define FT_USE_T1 // type1 font driver
29 #define FT_USE_T42 // type42 font driver
30 #define FT_USE_T1CID // cid-keyed type1 font driver
31 #define FT_USE_CFF // opentype font driver
32 #define FT_USE_BDF // bdf bitmap font driver
33 #define FT_USE_PCF // pcf bitmap font driver
34 #define FT_USE_PFR // pfr font driver
35 #define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
36 #define FT_USE_OTV // opentype validator
37 #define FT_USE_GXV // truetype gx validator
38 #include "FT:src/base/ftinit.c"
41 # link your programs with ft2_680x0.lib and either ftsystem.o or ftsystempure.o
42 # (and either ftdebug.o or ftdebugpure.o if you enabled FT_DEBUG_LEVEL_ERROR or
43 # FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
45 OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfstype.o ftgasp.o \
46 ftglyph.o ftgxval.o ftlcdfil.o ftmm.o ftotval.o ftpatent.o ftpfr.o \
47 ftstroke.o ftsynth.o fttype1.o ftwinfnt.o ftxf86.o
49 OBJSYSTEM = ftsystem.o ftsystempure.o
51 OBJDEBUG = ftdebug.o ftdebugpure.o
59 OBJPS = psaux.o psnames.o pshinter.o
61 OBJRASTER = raster.o smooth.o
67 OBJFONTD = cff.o type1.o type42.o type1cid.o\
68 truetype.o winfnt.o bdf.o pcf.o pfr.o
78 OPTIMIZER = optinlocal
80 SCFLAGS = optimize opttime optsched strmerge data=faronly idlen=50 cpu=$(CPU)\
81 idir=include/ idir=$(CORE) idir=FT:include/ nostackcheck nochkabort\
82 noicons ignore=79,85,110,306 parameters=both define=FT2_BUILD_LIBRARY
86 # sample linker options
87 OPTS = link lib=$(LIB),lib:sc.lib,lib:amiga.lib,lib:debug.lib\
88 smallcode smalldata noicons utillib
90 # sample program entry
91 #myprog: myprog.c ftsystem.o $(LIB)
92 # sc $< programname=$@ ftsystem.o $(SCFLAGS) $(OPTS)
94 all: $(LIB) $(OBJSYSTEM) $(OBJDEBUG)
99 # uses separate object modules in lib to make for easier debugging
100 # also, can make smaller programs if entire engine is not used
101 ft2_$(CPU).lib: $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o
102 oml $@ r $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o
108 -delete ft2$(CPU).lib
111 # freetype library base
113 ftbase.o: $(CORE)base/ftbase.c
114 sc $(SCFLAGS) objname=$@ $<
115 ftinit.o: $(CORE)base/ftinit.c
116 sc $(SCFLAGS) objname=$@ $<
117 ftsystem.o: $(CORE)base/ftsystem.c
118 sc $(SCFLAGS) objname=$@ $<
119 ftsystempure.o: src/base/ftsystem.c ## pure version for use in run-time library etc
120 sc $(SCFLAGS) objname=$@ $<
121 ftdebug.o: $(CORE)base/ftdebug.c
122 sc $(SCFLAGS) objname=$@ $<
123 ftdebugpure.o: src/base/ftdebug.c ## pure version for use in run-time library etc
124 sc $(SCFLAGS) objname=$@ $<
126 # freetype library base extensions
128 ftbbox.o: $(CORE)base/ftbbox.c
129 sc $(SCFLAGS) objname=$@ $<
130 ftbdf.o: $(CORE)base/ftbdf.c
131 sc $(SCFLAGS) objname=$@ $<
132 ftbitmap.o: $(CORE)base/ftbitmap.c
133 sc $(SCFLAGS) objname=$@ $<
134 ftcid.o: $(CORE)base/ftcid.c
135 sc $(SCFLAGS) objname=$@ $<
136 ftfstype.o: $(CORE)base/ftfstype.c
137 sc $(SCFLAGS) objname=$@ $<
138 ftgasp.o: $(CORE)base/ftgasp.c
139 sc $(SCFLAGS) objname=$@ $<
140 ftglyph.o: $(CORE)base/ftglyph.c
141 sc $(SCFLAGS) objname=$@ $<
142 ftgxval.o: $(CORE)base/ftgxval.c
143 sc $(SCFLAGS) objname=$@ $<
144 ftlcdfil.o: $(CORE)base/ftlcdfil.c
145 sc $(SCFLAGS) objname=$@ $<
146 ftmm.o: $(CORE)base/ftmm.c
147 sc $(SCFLAGS) objname=$@ $<
148 ftotval.o: $(CORE)base/ftotval.c
149 sc $(SCFLAGS) objname=$@ $<
150 ftpatent.o: $(CORE)base/ftpatent.c
151 sc $(SCFLAGS) objname=$@ $<
152 ftpfr.o: $(CORE)base/ftpfr.c
153 sc $(SCFLAGS) objname=$@ $<
154 ftstroke.o: $(CORE)base/ftstroke.c
155 sc $(SCFLAGS) objname=$@ $<
156 ftsynth.o: $(CORE)base/ftsynth.c
157 sc $(SCFLAGS) objname=$@ $<
158 fttype1.o: $(CORE)base/fttype1.c
159 sc $(SCFLAGS) objname=$@ $<
160 ftwinfnt.o: $(CORE)base/ftwinfnt.c
161 sc $(SCFLAGS) objname=$@ $<
162 ftxf86.o: $(CORE)base/ftxf86.c
163 sc $(SCFLAGS) objname=$@ $<
166 # freetype library autofitter module
168 autofit.o: $(CORE)autofit/autofit.c
169 sc $(SCFLAGS) objname=$@ $<
172 # freetype library PS hinting module
174 pshinter.o: $(CORE)pshinter/pshinter.c
175 sc $(SCFLAGS) objname=$@ $<
177 # freetype library PS support module
179 psaux.o: $(CORE)psaux/psaux.c
180 sc $(SCFLAGS) objname=$@ $<
183 # freetype library PS glyph names module
185 psnames.o: $(CORE)psnames/psnames.c
186 sc $(SCFLAGS) code=far objname=$@ $<
189 # freetype library monochrome raster module
191 raster.o: $(CORE)raster/raster.c
192 sc $(SCFLAGS) objname=$@ $<
195 # freetype library anti-aliasing raster module
197 smooth.o: $(CORE)smooth/smooth.c
198 sc $(SCFLAGS) objname=$@ $<
201 # freetype library 'sfnt' module
203 sfnt.o: $(CORE)sfnt/sfnt.c
204 sc $(SCFLAGS) objname=$@ $<
207 # freetype library glyph and image caching system (still experimental)
209 ftcache.o: $(CORE)cache/ftcache.c
210 sc $(SCFLAGS) objname=$@ $<
213 # freetype library OpenType font driver
215 cff.o: $(CORE)cff/cff.c
216 sc $(SCFLAGS) objname=$@ $<
219 # freetype library TrueType font driver
221 truetype.o: $(CORE)truetype/truetype.c
222 sc $(SCFLAGS) objname=$@ $<
225 # freetype library Type1 font driver
227 type1.o: $(CORE)type1/type1.c
228 sc $(SCFLAGS) objname=$@ $<
231 # FreeType2 library Type42 font driver
233 type42.o: $(CORE)type42/type42.c
234 sc $(SCFLAGS) objname=$@ $<
237 # freetype library CID-keyed Type1 font driver
239 type1cid.o: $(CORE)cid/type1cid.c
240 sc $(SCFLAGS) objname=$@ $<
242 # freetype library CID-keyed Type1 font driver extensions
244 #cidafm.o: $(CORE)cid/cidafm.c
245 # sc $(SCFLAGS) objname=$@ $<
248 # freetype library BDF bitmap font driver
250 bdf.o: $(CORE)bdf/bdf.c
251 sc $(SCFLAGS) objname=$@ $<
254 # freetype library PCF bitmap font driver
256 pcf.o: $(CORE)pcf/pcf.c
257 sc $(SCFLAGS) objname=$@ $<
260 # freetype library gzip support for compressed PCF bitmap fonts
262 gzip.o: $(CORE)gzip/ftgzip.c
263 sc $(SCFLAGS) define FAR objname=$@ $<
266 # freetype library compress support for compressed PCF bitmap fonts
268 lzw.o: $(CORE)lzw/ftlzw.c
269 sc $(SCFLAGS) objname=$@ $<
272 # freetype library PFR font driver
274 pfr.o: $(CORE)pfr/pfr.c
275 sc $(SCFLAGS) objname=$@ $<
278 # freetype library Windows FNT/FON bitmap font driver
280 winfnt.o: $(CORE)winfonts/winfnt.c
281 sc $(SCFLAGS) objname=$@ $<
284 # freetype library TrueTypeGX validator
286 gxvalid.o: $(CORE)gxvalid/gxvalid.c
287 sc $(SCFLAGS) objname=$@ $<
290 # freetype library OpenType validator
292 otvalid.o: $(CORE)otvalid/otvalid.c
293 sc $(SCFLAGS) objname=$@ $<