1#
2# Makefile for FreeType2 link library using Amiga SAS/C 6.58
3#
4
5
6# Copyright (C) 2005-2020 by
7# Werner Lemberg and Detlef W�rkner.
8#
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
13# fully.
14
15
16# to build from the builds/amiga directory call
17#
18#  smake assign
19#  smake
20#
21# Your programs source code should start with this
22# (uncomment the parts you do not need to keep the program small):
23# ---8<---
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"
39# ---8<---
40#
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).
44
45OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfstype.o      \
46	  ftgasp.o ftglyph.o ftgxval.o ftmm.o ftotval.o                \
47	  ftpatent.o ftpfr.o ftstroke.o ftsynth.o fttype1.o ftwinfnt.o
48
49OBJSYSTEM = ftsystem.o ftsystempure.o
50
51OBJDEBUG = ftdebug.o ftdebugpure.o
52
53OBJAFIT = autofit.o
54
55OBJGXV = gxvalid.o
56
57OBJOTV = otvalid.o
58
59OBJPS = psaux.o psnames.o pshinter.o
60
61OBJRASTER = raster.o smooth.o
62
63OBJSFNT = sfnt.o
64
65OBJCACHE = ftcache.o
66
67OBJFONTD = cff.o type1.o type42.o type1cid.o\
68	   truetype.o winfnt.o bdf.o pcf.o pfr.o
69
70CORE = FT:src/
71
72CPU       = 68000
73#CPU      = 68020
74#CPU      = 68030
75#CPU      = 68040
76#CPU      = 68060
77
78OPTIMIZER = optinlocal
79
80SCFLAGS = 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
83
84LIB  = ft2_$(CPU).lib
85
86# sample linker options
87OPTS = link lib=$(LIB),lib:sc.lib,lib:amiga.lib,lib:debug.lib\
88       smallcode smalldata noicons utillib
89
90# sample program entry
91#myprog: myprog.c ftsystem.o $(LIB)
92#	sc $< programname=$@ ftsystem.o $(SCFLAGS) $(OPTS)
93
94all:	$(LIB) $(OBJSYSTEM) $(OBJDEBUG)
95
96assign:
97	assign FT: //
98
99# uses separate object modules in lib to make for easier debugging
100# also, can make smaller programs if entire engine is not used
101ft2_$(CPU).lib:  $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o bzip2.o
102	oml $@ r $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o bzip2.o
103
104clean:
105	-delete \#?.o
106
107realclean: clean
108	-delete ft2$(CPU).lib
109
110#
111# freetype library base
112#
113ftbase.o: $(CORE)base/ftbase.c
114	sc $(SCFLAGS) objname=$@ $<
115ftinit.o: $(CORE)base/ftinit.c
116	sc $(SCFLAGS) objname=$@ $<
117ftsystem.o: $(CORE)base/ftsystem.c
118	sc $(SCFLAGS) objname=$@ $<
119ftsystempure.o: src/base/ftsystem.c	## pure version for use in run-time library etc
120	sc $(SCFLAGS) objname=$@ $<
121ftdebug.o: $(CORE)base/ftdebug.c
122	sc $(SCFLAGS) objname=$@ $<
123ftdebugpure.o: src/base/ftdebug.c	## pure version for use in run-time library etc
124	sc $(SCFLAGS) objname=$@ $<
125#
126# freetype library base extensions
127#
128ftbbox.o: $(CORE)base/ftbbox.c
129	sc $(SCFLAGS) objname=$@ $<
130ftbdf.o: $(CORE)base/ftbdf.c
131	sc $(SCFLAGS) objname=$@ $<
132ftbitmap.o: $(CORE)base/ftbitmap.c
133	sc $(SCFLAGS) objname=$@ $<
134ftcid.o: $(CORE)base/ftcid.c
135	sc $(SCFLAGS) objname=$@ $<
136ftfstype.o: $(CORE)base/ftfstype.c
137	sc $(SCFLAGS) objname=$@ $<
138ftgasp.o: $(CORE)base/ftgasp.c
139	sc $(SCFLAGS) objname=$@ $<
140ftglyph.o: $(CORE)base/ftglyph.c
141	sc $(SCFLAGS) objname=$@ $<
142ftgxval.o: $(CORE)base/ftgxval.c
143	sc $(SCFLAGS) objname=$@ $<
144ftmm.o: $(CORE)base/ftmm.c
145	sc $(SCFLAGS) objname=$@ $<
146ftotval.o: $(CORE)base/ftotval.c
147	sc $(SCFLAGS) objname=$@ $<
148ftpatent.o: $(CORE)base/ftpatent.c
149	sc $(SCFLAGS) objname=$@ $<
150ftpfr.o: $(CORE)base/ftpfr.c
151	sc $(SCFLAGS) objname=$@ $<
152ftstroke.o: $(CORE)base/ftstroke.c
153	sc $(SCFLAGS) objname=$@ $<
154ftsynth.o: $(CORE)base/ftsynth.c
155	sc $(SCFLAGS) objname=$@ $<
156fttype1.o: $(CORE)base/fttype1.c
157	sc $(SCFLAGS) objname=$@ $<
158ftwinfnt.o: $(CORE)base/ftwinfnt.c
159	sc $(SCFLAGS) objname=$@ $<
160
161#
162# freetype library autofitter module
163#
164autofit.o: $(CORE)autofit/autofit.c
165	sc $(SCFLAGS) objname=$@ $<
166
167#
168# freetype library PS hinting module
169#
170pshinter.o: $(CORE)pshinter/pshinter.c
171	sc $(SCFLAGS) objname=$@ $<
172#
173# freetype library PS support module
174#
175psaux.o: $(CORE)psaux/psaux.c
176	sc $(SCFLAGS) objname=$@ $<
177
178#
179# freetype library PS glyph names module
180#
181psnames.o: $(CORE)psnames/psnames.c
182	sc $(SCFLAGS) code=far objname=$@ $<
183
184#
185# freetype library monochrome raster module
186#
187raster.o: $(CORE)raster/raster.c
188	sc $(SCFLAGS) objname=$@ $<
189
190#
191# freetype library anti-aliasing raster module
192#
193smooth.o: $(CORE)smooth/smooth.c
194	sc $(SCFLAGS) objname=$@ $<
195
196#
197# freetype library 'sfnt' module
198#
199sfnt.o: $(CORE)sfnt/sfnt.c
200	sc $(SCFLAGS) objname=$@ $<
201
202#
203# freetype library glyph and image caching system (still experimental)
204#
205ftcache.o: $(CORE)cache/ftcache.c
206	sc $(SCFLAGS) objname=$@ $<
207
208#
209# freetype library OpenType font driver
210#
211cff.o: $(CORE)cff/cff.c
212	sc $(SCFLAGS) objname=$@ $<
213
214#
215# freetype library TrueType font driver
216#
217truetype.o: $(CORE)truetype/truetype.c
218	sc $(SCFLAGS) objname=$@ $<
219
220#
221# freetype library Type1 font driver
222#
223type1.o: $(CORE)type1/type1.c
224	sc $(SCFLAGS) objname=$@ $<
225
226#
227# FreeType2 library Type42 font driver
228#
229type42.o: $(CORE)type42/type42.c
230	sc $(SCFLAGS) objname=$@ $<
231
232#
233# freetype library CID-keyed Type1 font driver
234#
235type1cid.o: $(CORE)cid/type1cid.c
236	sc $(SCFLAGS) objname=$@ $<
237#
238# freetype library CID-keyed Type1 font driver extensions
239#
240#cidafm.o: $(CORE)cid/cidafm.c
241#	sc $(SCFLAGS) objname=$@ $<
242
243#
244# freetype library BDF bitmap font driver
245#
246bdf.o: $(CORE)bdf/bdf.c
247	sc $(SCFLAGS) objname=$@ $<
248
249#
250# freetype library PCF bitmap font driver
251#
252pcf.o: $(CORE)pcf/pcf.c
253	sc $(SCFLAGS) objname=$@ $<
254
255#
256# freetype library gzip support for compressed PCF bitmap fonts
257#
258gzip.o: $(CORE)gzip/ftgzip.c
259	sc $(SCFLAGS) define FAR objname=$@ $<
260
261#
262# freetype library bzip2 support for compressed PCF bitmap fonts
263#
264bzip2.o: $(CORE)bzip2/ftbzip2.c
265	sc $(SCFLAGS) define FAR objname=$@ $<
266
267#
268# freetype library compress support for compressed PCF bitmap fonts
269#
270lzw.o: $(CORE)lzw/ftlzw.c
271	sc $(SCFLAGS) objname=$@ $<
272
273#
274# freetype library PFR font driver
275#
276pfr.o: $(CORE)pfr/pfr.c
277	sc $(SCFLAGS) objname=$@ $<
278
279#
280# freetype library Windows FNT/FON bitmap font driver
281#
282winfnt.o: $(CORE)winfonts/winfnt.c
283	sc $(SCFLAGS) objname=$@ $<
284
285#
286# freetype library TrueTypeGX validator
287#
288gxvalid.o: $(CORE)gxvalid/gxvalid.c
289	sc $(SCFLAGS) objname=$@ $<
290
291#
292# freetype library OpenType validator
293#
294otvalid.o: $(CORE)otvalid/otvalid.c
295	sc $(SCFLAGS) objname=$@ $<
296
297#Local Variables:
298#coding: latin-1
299#End:
300