Clean up Makefile's a bit
[platform/upstream/fontconfig.git] / src / Makefile.am
1 #
2 # fontconfig/src/Makefile.am
3 #
4 # Copyright © 2003 Keith Packard
5 #
6 # Permission to use, copy, modify, distribute, and sell this software and its
7 # documentation for any purpose is hereby granted without fee, provided that
8 # the above copyright notice appear in all copies and that both that
9 # copyright notice and this permission notice appear in supporting
10 # documentation, and that the name of Keith Packard not be used in
11 # advertising or publicity pertaining to distribution of the software without
12 # specific, written prior permission.  Keith Packard makes no
13 # representations about the suitability of this software for any purpose.  It
14 # is provided "as is" without express or implied warranty.
15 #
16 # THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17 # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18 # EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19 # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20 # DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21 # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22 # PERFORMANCE OF THIS SOFTWARE.
23
24 if OS_WIN32
25
26 export_symbols = -export-symbols fontconfig.def
27
28 fontconfig_def_dependency = fontconfig.def
29
30 # gcc import library install/uninstall
31
32 install-libtool-import-lib: 
33         $(INSTALL) .libs/libfontconfig.dll.a $(DESTDIR)$(libdir)
34         $(INSTALL) fontconfig.def $(DESTDIR)$(libdir)/fontconfig.def
35
36 uninstall-libtool-import-lib:
37         -rm $(DESTDIR)$(libdir)/libfontconfig.dll.a $(DESTDIR)$(libdir)/fontconfig.def
38
39 else
40
41 install-libtool-import-lib:
42 uninstall-libtool-import-lib:
43
44 fontconfig_def_dependency = 
45
46 endif
47
48 if MS_LIB_AVAILABLE
49
50 # Microsoft import library install/uninstall
51
52 noinst_DATA = fontconfig.lib
53
54 fontconfig.lib : libfontconfig.la
55         lib -name:libfontconfig-$(lt_current_minus_age).dll -def:fontconfig.def -out:$@
56
57 install-ms-import-lib:
58         $(INSTALL) fontconfig.lib $(DESTDIR)$(libdir)
59
60 uninstall-ms-import-lib:
61         -rm $(DESTDIR)$(libdir)/fontconfig.lib
62
63 else
64
65 install-ms-import-lib:
66 uninstall-ms-import-lib:
67
68 endif
69
70 INCLUDES =                                              \
71         -I$(top_srcdir)                                 \
72         -I$(top_srcdir)/src                             \
73         $(FREETYPE_CFLAGS)                              \
74         $(LIBXML2_CFLAGS)                               \
75         $(EXPAT_CFLAGS)                                 \
76         $(WARN_CFLAGS)                                  \
77         -DFC_CACHEDIR='"$(FC_CACHEDIR)"'                \
78         -DFONTCONFIG_PATH='"$(CONFDIR)"'
79
80 EXTRA_DIST = makealias
81
82 noinst_HEADERS=fcint.h fcftint.h fcdeprecate.h
83
84 ALIAS_FILES = fcalias.h fcaliastail.h fcftalias.h fcftaliastail.h
85
86 BUILT_SOURCES = $(ALIAS_FILES) \
87         ../fc-arch/fcarch.h \
88         ../fc-case/fccase.h \
89         ../fc-glyphname/fcglyphname.h \
90         ../fc-lang/fclang.h
91
92 ../fc-arch/fcarch.h:
93         cd ../fc-arch && $(MAKE) $(AM_MAKEFLAGS) fcarch.h
94 ../fc-case/fccase.h:
95         cd ../fc-case && $(MAKE) $(AM_MAKEFLAGS) fccase.h
96 ../fc-glyphname/fcglyphname.h:
97         cd ../fc-glyphname && $(MAKE) $(AM_MAKEFLAGS) fcglyphname.h
98 ../fc-lang/fclang.h:
99         cd ../fc-lang && $(MAKE) $(AM_MAKEFLAGS) fclang.h
100
101 libfontconfig_la_SOURCES = \
102         fcatomic.c \
103         fcblanks.c \
104         fccache.c \
105         fccfg.c \
106         fccharset.c \
107         fcdbg.c \
108         fcdefault.c \
109         fcdir.c \
110         fcformat.c \
111         fcfreetype.c \
112         fcfs.c \
113         fcinit.c \
114         fclang.c \
115         fclist.c \
116         fcmatch.c \
117         fcmatrix.c \
118         fcname.c \
119         fcpat.c \
120         fcserialize.c \
121         fcstr.c \
122         fcxml.c \
123         ftglue.h \
124         ftglue.c
125
126 lib_LTLIBRARIES = libfontconfig.la
127
128 libfontconfig_la_LDFLAGS =                      \
129         -version-info @LIBT_VERSION_INFO@ -no-undefined $(export_symbols)
130
131 libfontconfig_la_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS)
132
133 libfontconfig_la_DEPENDENCIES = $(fontconfig_def_dependency)
134
135 install-data-local: install-ms-import-lib install-libtool-import-lib
136
137 uninstall-local: uninstall-ms-import-lib uninstall-libtool-import-lib
138
139 PUBLIC_FILES = \
140         $(top_srcdir)/fontconfig/fontconfig.h \
141         $(top_srcdir)/src/fcdeprecate.h \
142         $(top_srcdir)/fontconfig/fcprivate.h
143         
144 PUBLIC_FT_FILES = \
145         $(top_srcdir)/fontconfig/fcfreetype.h
146
147 fcaliastail.h: fcalias.h
148
149 fcalias.h: $(top_srcdir)/src/makealias $(PUBLIC_FILES)
150         sh $(top_srcdir)/src/makealias "$(top_srcdir)/src" fcalias.h fcaliastail.h $(PUBLIC_FILES)
151
152 fcftaliastail.h: fcftalias.h
153
154 fcftalias.h: $(top_srcdir)/src/makealias $(PUBLIC_FT_FILES)
155         sh $(top_srcdir)/src/makealias "$(top_srcdir)/src" fcftalias.h fcftaliastail.h $(PUBLIC_FT_FILES)
156
157 CLEANFILES = $(ALIAS_FILES)
158
159 fontconfig.def: $(PUBLIC_FILES) $(PUBLIC_FT_FILES)
160         echo Generating $@
161         (echo EXPORTS; \
162         (cat $(PUBLIC_FILES) $(PUBLIC_FT_FILES) || echo 'FcERROR ()' ) | \
163         grep '^Fc[^ ]* *(' | sed -e 's/ *(.*$$//' -e 's/^/      /' | \
164         sort; \
165         echo LIBRARY libfontconfig-@LIBT_CURRENT_MINUS_AGE@.dll; \
166         echo VERSION @LIBT_CURRENT@.@LIBT_REVISION@) >$@
167         @ ! grep -q FcERROR $@ || ($(RM) $@; false)