This commit was manufactured by cvs2svn to create branch 'captive'.
[reactos.git] / subsys / win32k / freetype / builds / unix / unix.in
1 #
2 # FreeType 2 configuration rules templates for Unix + configure
3 #
4
5
6 # Copyright 1996-2000 by
7 # David Turner, Robert Wilhelm, and Werner Lemberg.
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 ifndef TOP
17   TOP := .
18 endif
19
20 DELETE        := @RMF@
21 DELDIR        := @RMDIR@
22 SEP           := /
23 HOSTSEP       := $(SEP)
24 BUILD         := $(TOP)/builds/unix
25 PLATFORM      := unix
26 CC            := @CC@
27
28 INSTALL       := @INSTALL@
29 INSTALL_DATA  := @INSTALL_DATA@
30 MKINSTALLDIRS := $(BUILD)/mkinstalldirs
31
32 LIBTOOL       := $(BUILD)/libtool
33
34
35 # don't use `:=' here since the path stuff will be included after this file
36 #
37 FTSYS_SRC = @FTSYS_SRC@
38
39 DISTCLEAN += $(BUILD)/config.cache  \
40              $(BUILD)/config.log    \
41              $(BUILD)/config.status \
42              $(BUILD)/unix.mk       \
43              $(BUILD)/ftconfig.h    \
44              $(LIBTOOL)
45
46
47 # Standard installation variables.
48 #
49 prefix       := @prefix@
50 exec_prefix  := @exec_prefix@
51 libdir       := @libdir@
52 bindir       := @bindir@
53 includedir   := @includedir@
54
55 version_info := @version_info@
56
57
58 # The directory where all object files are placed.
59 #
60 # Note that this is not $(TOP)/obj!
61 # This lets you build the library in your own directory with something like
62 #
63 #   set TOP=.../path/to/freetype2/top/dir...
64 #   mkdir obj
65 #   make -f $TOP/Makefile setup [options]
66 #   make -f $TOP/Makefile
67 #
68 OBJ_DIR := obj
69
70
71 # The directory where all library files are placed.
72 #
73 # By default, this is the same as $(OBJ_DIR), however, this can be changed
74 # to suit particular needs.
75 #
76 LIB_DIR := $(OBJ_DIR)
77
78
79 # The object file extension (for standard and static libraries).  This can be
80 # .o, .tco, .obj, etc., depending on the platform.
81 #
82 O  := lo
83 SO := o
84
85 # The library file extension (for standard and static libraries).  This can
86 # be .a, .lib, etc., depending on the platform.
87 #
88 A  := la
89 SA := a
90
91
92 # The name of the final library file.  Note that the DOS-specific Makefile
93 # uses a shorter (8.3) name.
94 #
95 LIBRARY := libfreetype
96
97
98 # Path inclusion flag.  Some compilers use a different flag than `-I' to
99 # specify an additional include path.  Examples are `/i=' or `-J'.
100 #
101 I := -I
102
103
104 # C flag used to define a macro before the compilation of a given source
105 # object.  Usually is `-D' like in `-DDEBUG'.
106 #
107 D := -D
108
109
110 # The link flag used to specify a given library file on link.  Note that
111 # this is only used to compile the demo programs, not the library itself.
112 #
113 L := -l
114
115
116 # Target flag.
117 #
118 T := -o # Don't remove this comment line!  We need the space after `-o'.
119
120
121 # C flags
122 #
123 #   These should concern: debug output, optimization & warnings.
124 #
125 #   Use the ANSIFLAGS variable to define the compiler flags used to enfore
126 #   ANSI compliance.
127 #
128 CFLAGS := -c @XX_CFLAGS@ @CFLAGS@
129
130 # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
131 #
132 ANSIFLAGS := @XX_ANSIFLAGS@
133
134 # C compiler to use -- we use libtool!
135 #
136 #
137 CCraw := $(CC)
138 CC    := $(LIBTOOL) --mode=compile $(CCraw)
139
140 # Linker flags.
141 #
142 LDFLAGS := @LDFLAGS@
143
144
145 ifdef BUILD_FREETYPE
146
147   # Now include the main sub-makefile.  It contains all the rules used to
148   # build the library with the previous variables defined.
149   #
150   include $(TOP)/builds/freetype.mk
151
152
153   # The cleanup targets.
154   #
155   clean_freetype: clean_freetype_unix
156   distclean_freetype: distclean_freetype_unix
157
158
159   # Unix installation and deinstallation targets.
160   install: $(FT_LIBRARY)
161           $(MKINSTALLDIRS) $(libdir)                       \
162                            $(includedir)/freetype/config   \
163                            $(includedir)/freetype/internal
164           $(LIBTOOL) --mode=install $(INSTALL) $(FT_LIBRARY) $(libdir)
165           -for P in $(PUBLIC_H) ; do                     \
166             $(INSTALL_DATA) $$P $(includedir)/freetype ; \
167           done
168           -for P in $(BASE_H) ; do                                \
169             $(INSTALL_DATA) $$P $(includedir)/freetype/internal ; \
170           done
171           -for P in $(CONFIG_H) ; do                            \
172             $(INSTALL_DATA) $$P $(includedir)/freetype/config ; \
173           done
174
175   uninstall:
176           -$(LIBTOOL) --mode=uninstall $(RM) $(libdir)/$(LIBRARY).$A
177           -$(DELETE) $(includedir)/freetype/config/*
178           -$(DELDIR) $(includedir)/freetype/config
179           -$(DELETE) $(includedir)/freetype/internal/*
180           -$(DELDIR) $(includedir)/freetype/internal
181           -$(DELETE) $(includedir)/freetype/*
182           -$(DELDIR) $(includedir)/freetype
183
184
185   # Unix cleaning and distclean rules.
186   #
187   clean_freetype_unix:
188           -$(DELETE) $(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)
189           -$(DELETE) $(subst $O,$(SO),$(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)) \
190                      $(CLEAN)
191
192   distclean_freetype_unix: clean_freetype_unix
193           -$(DELETE) $(FT_LIBRARY)
194           -$(DELETE) $(OBJ_DIR)/.libs/*
195           -$(DELDIR) $(OBJ_DIR)/.libs
196           -$(DELETE) *.orig *~ core *.core $(DISTCLEAN)
197
198
199   # Librarian to use to build the library
200   #
201   FT_LIBRARIAN := $(LIBTOOL) --mode=link $(CCraw)
202
203
204   # This final rule is used to link all object files into a single library.
205   # It is part of the system-specific sub-Makefile because not all
206   # librarians accept a simple syntax like
207   #
208   #   librarian library_file {list of object files}
209   #
210   $(FT_LIBRARY): $(OBJECTS_LIST)
211           $(FT_LIBRARIAN) -o $@ $(OBJECTS_LIST) \
212                           -rpath $(libdir) -version-info $(version_info)
213
214 endif
215
216 # EOF