tizen 2.3.1 release
[framework/graphics/freetype.git] / builds / unix / unix-def.in
1 #
2 # FreeType 2 configuration rules templates for Unix + configure
3 #
4
5
6 # Copyright 1996-2000, 2002, 2004, 2006, 2008, 2013, 2014 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 SHELL := @SHELL@
16
17 TOP_DIR := $(shell cd $(TOP_DIR); pwd)
18
19 DELETE := rm -f
20 DELDIR := @RMDIR@
21 CAT    := cat
22 SEP    := /
23
24 # this is used for `make distclean' and `make install'
25 OBJ_BUILD ?= $(BUILD_DIR)
26
27 # don't use `:=' here since the path stuff will be included after this file
28 #
29 FTSYS_SRC = @FTSYS_SRC@
30
31 INSTALL         := @INSTALL@
32 INSTALL_DATA    := @INSTALL_DATA@
33 INSTALL_PROGRAM := @INSTALL_PROGRAM@
34 INSTALL_SCRIPT  := @INSTALL_SCRIPT@
35 MKINSTALLDIRS   := $(BUILD_DIR)/mkinstalldirs
36
37 CLEAN += $(OBJ_BUILD)/freetype-config \
38          $(OBJ_BUILD)/freetype2.pc
39
40 DISTCLEAN += $(OBJ_BUILD)/config.cache  \
41              $(OBJ_BUILD)/config.log    \
42              $(OBJ_BUILD)/config.status \
43              $(OBJ_BUILD)/unix-def.mk   \
44              $(OBJ_BUILD)/unix-cc.mk    \
45              $(OBJ_BUILD)/ftconfig.h    \
46              $(LIBTOOL)                 \
47              $(OBJ_BUILD)/Makefile
48
49
50 # Standard installation variables.
51 #
52 prefix       := @prefix@
53 exec_prefix  := @exec_prefix@
54 libdir       := @libdir@
55 bindir       := @bindir@
56 includedir   := @includedir@
57 datarootdir  := @datarootdir@
58 datadir      := @datadir@
59 mandir       := @mandir@
60
61 version_info := @version_info@
62
63 # Variables needed for `freetype-config' and `freetype.pc'.
64 #
65 REQUIRES_PRIVATE   := @REQUIRES_PRIVATE@
66 LIBS_PRIVATE       := @LIBS_PRIVATE@
67 LIBSSTATIC_CONFIG  := @LIBSSTATIC_CONFIG@
68 build_libtool_libs := @build_libtool_libs@
69 ft_version         := @ft_version@
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 # The BASE_SRC macro lists all source files that should be included in
79 # src/base/ftbase.c.  When configure sets up CFLAGS to build ftmac.c,
80 # ftmac.c should be added to BASE_SRC.
81 ftmac_c := @ftmac_c@
82
83 # The SYSTEM_ZLIB macro is defined if the user wishes to link dynamically
84 # with its system wide zlib. If SYSTEM_ZLIB is 'yes', the zlib part of the
85 # ftgzip module is not compiled in.
86 SYSTEM_ZLIB := @SYSTEM_ZLIB@
87
88
89 # The NO_OUTPUT macro is appended to command lines in order to ignore
90 # the output of some programs.
91 #
92 NO_OUTPUT := 2> /dev/null
93
94
95 # To support calls like
96 #
97 #   configure --includedir='${libdir}'/freetype2/include
98 #
99 # we generate `freetype-config' and `freetype.pc' at compile time so that
100 # those variables are properly expanded.
101
102 $(OBJ_BUILD)/freetype-config: $(TOP_DIR)/builds/unix/freetype-config.in
103         rm -f $@ $@.tmp
104         sed -e 's|%LIBSSTATIC_CONFIG%|$(LIBSSTATIC_CONFIG)|'   \
105             -e 's|%build_libtool_libs%|$(build_libtool_libs)|' \
106             -e 's|%exec_prefix%|$(exec_prefix)|'               \
107             -e 's|%ft_version%|$(ft_version)|'                 \
108             -e 's|%includedir%|$(includedir)|'                 \
109             -e 's|%libdir%|$(libdir)|'                         \
110             -e 's|%prefix%|$(prefix)|'                         \
111             $<                                                 \
112             > $@.tmp
113         chmod +x $@.tmp
114         chmod a-w $@.tmp
115         mv $@.tmp $@
116
117 # To support directory names with spaces (as might easily happen on Windows
118 # platforms), the right solution would be to surround the pkg-variables in
119 # `freetype2.pc' with double quotes.  However, doing so ironically disables
120 # the prefix override mechanism especially written for Windows.  This is a
121 # bug in pkg-config version 0.28 and earlier.
122 #
123 # For this reason, we escape spaces with backslashes.
124
125 exec_prefix_x := $(subst $(space),\\$(space),$(exec_prefix))
126 includedir_x  := $(subst $(space),\\$(space),$(includedir))
127 libdir_x      := $(subst $(space),\\$(space),$(libdir))
128 prefix_x      := $(subst $(space),\\$(space),$(prefix))
129
130 $(OBJ_BUILD)/freetype2.pc: $(TOP_DIR)/builds/unix/freetype2.in
131         rm -f $@ $@.tmp
132         sed -e 's|%REQUIRES_PRIVATE%|$(REQUIRES_PRIVATE)|'     \
133             -e 's|%LIBS_PRIVATE%|$(LIBS_PRIVATE)|'             \
134             -e 's|%build_libtool_libs%|$(build_libtool_libs)|' \
135             -e 's|%exec_prefix%|$(exec_prefix_x)|'             \
136             -e 's|%ft_version%|$(ft_version)|'                 \
137             -e 's|%includedir%|$(includedir_x)|'               \
138             -e 's|%libdir%|$(libdir_x)|'                       \
139             -e 's|%prefix%|$(prefix_x)|'                       \
140             $<                                                 \
141             > $@.tmp
142         chmod a-w $@.tmp
143         mv $@.tmp $@
144
145 all: $(OBJ_BUILD)/freetype-config \
146      $(OBJ_BUILD)/freetype2.pc
147
148 # EOF