2 # Makefile for FreeType2 link library using Amiga SAS/C 6.58
4 # to build from the builds/amiga directory call
9 # Your programs source code should start with this
10 # (uncomment the parts you do not need to keep the program small):
12 #define FT_USE_AUTOHINT // autohinter
13 #define FT_USE_RASTER // monochrome rasterizer
14 #define FT_USE_SMOOTH // anti-aliasing rasterizer
15 #define FT_USE_TT // truetype font driver
16 #define FT_USE_T1 // type1 font driver
17 #define FT_USE_T42 // type42 font driver
18 #define FT_USE_T1CID // cid-keyed type1 font driver
19 #define FT_USE_CFF // opentype font driver
20 #define FT_USE_BDF // bdf bitmap font driver
21 #define FT_USE_PCF // pcf bitmap font driver
22 #define FT_USE_PFR // pfr font driver
23 #define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
24 #include "FT:src/base/ftinit.c"
27 # link your programs with ft2_680x0.lib and either ftsystem.o or ftsystempure.o
28 # (and either ftdebug.o or ftdebugpure.o if you enabled FT_DEBUG_LEVEL_ERROR or
29 # FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
31 OBJBASE = ftbase.o ftglyph.o ftbbox.o ftmm.o ftsynth.o
33 OBJSYSTEM = ftsystem.o ftsystempure.o
35 OBJDEBUG = ftdebug.o ftdebugpure.o
37 OBJAHINT = autohint.o ahoptim.o
39 OBJPSHINT = pshinter.o
53 OBJPS = $(OBJPSAUX) $(OBJPSNAM) $(OBJPSHINT)
55 OBJRASTER = $(OBJRAST) $(OBJSMOOTH)
57 OBJFONTD = cff.o type1.o type42.o type1cid.o\
58 truetype.o winfnt.o bdf.o pcf.o pfr.o
68 OPTIMIZER = optinlocal
70 SCFLAGS = optimize opttime optsched strmerge strsect=near idlen=40 cpu=$(CPU)\
71 idir=include/ idir=$(CORE) idir=FT:include/ nostackcheck nochkabort\
72 noicons ignore=79,85,110,306 parameters=both
76 # sample linker options
77 OPTS = link lib=$(LIB),lib:sc.lib,lib:amiga.lib,lib:debug.lib\
78 smallcode smalldata noicons utillib
80 # sample program entry
81 #myprog: myprog.c ftsystem.o $(LIB)
82 # sc $< programname=$@ ftsystem.o $(SCFLAGS) $(OPTS)
84 all: $(LIB) $(OBJSYSTEM) $(OBJDEBUG)
89 # uses separate object modules in lib to make for easier debugging
90 # also, can make smaller programs if entire engine is not used
91 ft2_$(CPU).lib: $(OBJBASE) $(OBJAHINT) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD)
92 oml $@ r $(OBJBASE) $(OBJAHINT) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD)
101 # freetype library base
103 ftbase.o: $(CORE)base/ftbase.c
104 sc $(SCFLAGS) objname=$@ $<
105 ftinit.o: $(CORE)base/ftinit.c
106 sc $(SCFLAGS) objname=$@ $<
107 ftsystem.o: $(CORE)base/ftsystem.c
108 sc $(SCFLAGS) objname=$@ $<
109 ftsystempure.o: src/base/ftsystem.c ## pure version for use in run-time library etc
110 sc $(SCFLAGS) objname=$@ $<
111 ftdebug.o: $(CORE)base/ftdebug.c
112 sc $(SCFLAGS) objname=$@ $<
113 ftdebugpure.o: src/base/ftdebug.c ## pure version for use in run-time library etc
114 sc $(SCFLAGS) objname=$@ $<
116 # freetype library base extensions
118 ftglyph.o: $(CORE)base/ftglyph.c
119 sc $(SCFLAGS) objname=$@ $<
120 ftbbox.o: $(CORE)base/ftbbox.c
121 sc $(SCFLAGS) objname=$@ $<
122 ftmm.o: $(CORE)base/ftmm.c
123 sc $(SCFLAGS) objname=$@ $<
124 ftsynth.o: $(CORE)base/ftsynth.c
125 sc $(SCFLAGS) objname=$@ $<
128 # freetype library autohinting module
130 autohint.o: $(CORE)autohint/autohint.c
131 sc $(SCFLAGS) objname=$@ $<
133 # freetype library autohinting module extensions
135 ahoptim.o: $(CORE)autohint/ahoptim.c
136 sc $(SCFLAGS) objname=$@ $<
139 # freetype library PS hinting module
141 pshinter.o: $(CORE)pshinter/pshinter.c
142 sc $(SCFLAGS) objname=$@ $<
144 # freetype library PS support module
146 psaux.o: $(CORE)psaux/psaux.c
147 sc $(SCFLAGS) objname=$@ $<
150 # freetype library PS glyph names module
152 psnames.o: $(CORE)psnames/psnames.c
153 sc $(SCFLAGS) objname=$@ $<
156 # freetype library monochrome raster module
158 raster.o: $(CORE)raster/raster.c
159 sc $(SCFLAGS) objname=$@ $<
162 # freetype library anti-aliasing raster module
164 smooth.o: $(CORE)smooth/smooth.c
165 sc $(SCFLAGS) objname=$@ $<
168 # freetype library 'sfnt' module
170 sfnt.o: $(CORE)sfnt/sfnt.c
171 sc $(SCFLAGS) objname=$@ $<
174 # freetype library glyph and image caching system (still experimental)
176 ftcache.o: $(CORE)cache/ftcache.c
177 sc $(SCFLAGS) objname=$@ $<
180 # freetype library OpenType font driver
182 cff.o: $(CORE)cff/cff.c
183 sc $(SCFLAGS) objname=$@ $<
186 # freetype library TrueType font driver
188 truetype.o: $(CORE)truetype/truetype.c
189 sc $(SCFLAGS) objname=$@ $<
192 # freetype library Type1 font driver
194 type1.o: $(CORE)type1/type1.c
195 sc $(SCFLAGS) objname=$@ $<
198 # FreeType2 library Type42 font driver
200 type42.o: $(CORE)type42/type42.c
201 sc $(SCFLAGS) objname=$@ $<
204 # freetype library CID-keyed Type1 font driver
206 type1cid.o: $(CORE)cid/type1cid.c
207 sc $(SCFLAGS) objname=$@ $<
209 # freetype library CID-keyed Type1 font driver extensions
211 #cidafm.o: $(CORE)cid/cidafm.c
212 # sc $(SCFLAGS) objname=$@ $<
215 # freetype library BDF bitmap font driver
217 bdf.o: $(CORE)bdf/bdf.c
218 sc $(SCFLAGS) objname=$@ $<
221 # freetype library PCF bitmap font driver
223 pcf.o: $(CORE)pcf/pcf.c
224 sc $(SCFLAGS) objname=$@ $<
227 # freetype library PFR font driver
229 pfr.o: $(CORE)pfr/pfr.c
230 sc $(SCFLAGS) objname=$@ $<
233 # freetype library Windows FNT/FON bitmap font driver
235 winfnt.o: $(CORE)winfonts/winfnt.c
236 sc $(SCFLAGS) objname=$@ $<