1 | # FreeType 2 top Jamfile (c) 2001-2002 David Turner |
---|
2 | # |
---|
3 | |
---|
4 | # The HDRMACRO is already defined in FTJam and is used to add |
---|
5 | # the content of certain macros to the list of included header |
---|
6 | # files. |
---|
7 | # |
---|
8 | # we can compile FreeType 2 with classic Jam however thanks to |
---|
9 | # the following code |
---|
10 | # |
---|
11 | if ! $(JAM_TOOLSET) |
---|
12 | { |
---|
13 | rule HDRMACRO |
---|
14 | { |
---|
15 | # nothing !! |
---|
16 | } |
---|
17 | } |
---|
18 | |
---|
19 | # We need to invoke a SubDir rule if the FT2 source directory top is not the |
---|
20 | # current directory. This allows us to build FreeType 2 as part of a larger |
---|
21 | # project easily. |
---|
22 | # |
---|
23 | if $(FT2_TOP) != $(DOT) |
---|
24 | { |
---|
25 | SubDir FT2_TOP ; |
---|
26 | } |
---|
27 | |
---|
28 | # |
---|
29 | # The following macros define the include directory, the source directory |
---|
30 | # and the final library name (without library extensions). They can be |
---|
31 | # replaced by other definitions when the library is compiled as part of |
---|
32 | # a larger project. |
---|
33 | # |
---|
34 | |
---|
35 | # name of FreeType include directory during compilation. |
---|
36 | # relative to FT2_TOP |
---|
37 | # |
---|
38 | FT2_INCLUDE_DIR ?= include ; |
---|
39 | |
---|
40 | # name of FreeType source directory during compilation. |
---|
41 | # relative to FT2_TOP |
---|
42 | # |
---|
43 | FT2_SRC_DIR ?= src ; |
---|
44 | |
---|
45 | # name of final library, without extension |
---|
46 | # |
---|
47 | FT2_LIB ?= $(LIBPREFIX)freetype ; |
---|
48 | |
---|
49 | |
---|
50 | # define FT2_BUILD_INCLUDE to point to your build-specific directory |
---|
51 | # this is prepended to FT2_INCLUDE_DIR. This can be used to specify |
---|
52 | # the location of a custom <ft2build.h> which will point to custom |
---|
53 | # versions of "ftmodule.h" and "ftoption.h", for example |
---|
54 | # |
---|
55 | FT2_BUILD_INCLUDE ?= ; |
---|
56 | |
---|
57 | # the list of modules to compile on any given build of the library |
---|
58 | # by default, this will contain _all_ modules defined in FT2_SRC_DIR |
---|
59 | # |
---|
60 | # IMPORTANT: You'll need to change the content of "ftmodule.h" as well |
---|
61 | # if you modify this list or provide your own. |
---|
62 | # |
---|
63 | FT2_COMPONENTS ?= gzip # support for gzip-compressed files. |
---|
64 | autohint # auto-hinter |
---|
65 | base # base component (public APIs) |
---|
66 | bdf # BDF font driver |
---|
67 | cache # cache sub-system |
---|
68 | cff # CFF/CEF font driver |
---|
69 | cid # Postscript CID-keyed font driver |
---|
70 | pcf # PCF font driver |
---|
71 | pfr # PFR/TrueDoc font driver |
---|
72 | psaux # Common Postscript routines module |
---|
73 | pshinter # Postscript hinter module |
---|
74 | psnames # Postscript names handling |
---|
75 | raster # Monochrome rasterizer |
---|
76 | smooth # Anti-aliased rasterizer |
---|
77 | sfnt # SFNT-based format support routines |
---|
78 | truetype # TrueType font driver |
---|
79 | type1 # Postscript Type 1 font driver |
---|
80 | type42 # Postscript Type 42 (embedded TrueType) driver |
---|
81 | winfonts # Windows FON/FNT font driver |
---|
82 | ; |
---|
83 | |
---|
84 | |
---|
85 | # don't touch |
---|
86 | # |
---|
87 | FT2_INCLUDE = $(FT2_BUILD_INCLUDE) |
---|
88 | [ FT2_SubDir $(FT2_INCLUDE_DIR) ] ; |
---|
89 | |
---|
90 | FT2_SRC = [ FT2_SubDir $(FT2_SRC_DIR) ] ; |
---|
91 | |
---|
92 | # only used by FreeType developers |
---|
93 | # |
---|
94 | if $(DEBUG_HINTER) |
---|
95 | { |
---|
96 | CCFLAGS += -DDEBUG_HINTER ; |
---|
97 | } |
---|
98 | |
---|
99 | |
---|
100 | # We need "freetype2/include" in the current include path in order to |
---|
101 | # compile any part of FreeType 2. |
---|
102 | # |
---|
103 | SubDirHdr += $(FT2_INCLUDE) ; |
---|
104 | |
---|
105 | # Uncomment the following line if you want to build individual source files |
---|
106 | # for each FreeType 2 module. |
---|
107 | # |
---|
108 | # FT2_MULTI = true ; |
---|
109 | |
---|
110 | # The file <freetype/config/ftheader.h> is used to define macros that are |
---|
111 | # later used in #include statements. It needs to be parsed in order to |
---|
112 | # record these definitions. |
---|
113 | # |
---|
114 | HDRMACRO [ FT2_SubDir include freetype config ftheader.h ] ; |
---|
115 | HDRMACRO [ FT2_SubDir include freetype internal internal.h ] ; |
---|
116 | |
---|
117 | # Now include the Jamfile in "freetype2/src", used to drive the compilation |
---|
118 | # of each FreeType 2 component and/or module. |
---|
119 | # |
---|
120 | SubInclude FT2_TOP $(FT2_SRC_DIR) ; |
---|
121 | |
---|
122 | |
---|
123 | # tests files (hinter debugging). only used by FreeType developers |
---|
124 | # |
---|
125 | if $(DEBUG_HINTER) |
---|
126 | { |
---|
127 | SubInclude FT2_TOP tests ; |
---|
128 | } |
---|
129 | |
---|
130 | # end of top Jamfile |
---|