Code

Improved version reporting. Add SVN revision and custom status to
[inkscape.git] / src / Makefile.am
1 ## Process this file with automake to produce Makefile.in
4 # ################################################
5 #
6 #  G L O B A L
7 #
8 # ################################################
10 # Should work in either automake1.7 or 1.8, but 1.6 doesn't
11 # handle foo/libfoo_a_CPPFLAGS properly (if at all).
12 # Update: We now avoid setting foo/libfoo_a_CPPFLAGS,
13 # so perhaps 1.6 will work.
14 AUTOMAKE_OPTIONS = 1.7 subdir-objects
16 INCLUDES =      \
17         $(PERL_CFLAGS) $(PYTHON_CFLAGS) \
18         $(FREETYPE_CFLAGS)      \
19         $(GNOME_PRINT_CFLAGS)   \
20         $(GNOME_VFS_CFLAGS)     \
21         $(IMAGEMAGICK_CFLAGS) \
22         $(INKBOARD_CFLAGS) \
23         $(LIBWPG_CFLAGS) \
24         $(XFT_CFLAGS)   \
25         $(LCMS_CFLAGS)  \
26         $(POPPLER_CFLAGS)       \
27         $(POPPLER_GLIB_CFLAGS)  \
28         -DPOTRACE=\"potrace\"   \
29         $(INKSCAPE_CFLAGS) \
30         -I$(top_srcdir)/cxxtest \
31         $(WIN32_CFLAGS)
33 CXXTEST_TEMPLATE = $(srcdir)/cxxtest-template.tpl
34 CXXTESTGENFLAGS = --root --have-eh --template=$(CXXTEST_TEMPLATE)
35 CXXTESTGEN = $(top_srcdir)/cxxtest/cxxtestgen.pl $(CXXTESTGENFLAGS)
36 # Add test cases to this variable
37 CXXTEST_TESTSUITES =
39 # ################################################
40 #
41 #  E X T R A 
42 #
43 # ################################################
45 if PLATFORM_WIN32
46 win32_sources = winmain.cpp registrytool.cpp registrytool.h
47 win32ldflags = -lcomdlg32
48 endif 
50 if INKJAR
51 inkjar_dir = inkjar
52 inkjar_libs = inkjar/libinkjar.a
53 endif
55 # Extra files to remove when doing "make distclean"
56 DISTCLEANFILES =        \
57         helper/sp-marshal.cpp   \
58         helper/sp-marshal.h     \
59         inkscape-version.cpp
61 inkscape_private_libs = \
62         libinkpre.a             \
63         application/libinkapp.a \
64         ui/dialog/libuidialog.a \
65         dialogs/libspdialogs.a  \
66         ui/cache/libuicache.a   \
67         jabber_whiteboard/libjabber_whiteboard.a \
68         pedro/libpedro.a        \
69         trace/libtrace.a        \
70         svg/libspsvg.a          \
71         filters/libfilters.a    \
72         widgets/libspwidgets.a  \
73         display/libspdisplay.a  \
74         helper/libspchelp.a     \
75         libcroco/libcroco.a     \
76         libnrtype/libnrtype.a   \
77         libavoid/libavoid.a     \
78         livarot/libvarot.a      \
79         live_effects/liblive_effects.a  \
80         live_effects/parameter/liblpeparam.a    \
81         ui/view/libuiview.a     \
82         ui/libui.a              \
83         ui/widget/libuiwidget.a \
84         libgdl/libgdl.a         \
85         graphlayout/libgraphlayout.a    \
86         removeoverlap/libremoveoverlap.a                \
87         libcola/libcola.a       \
88         libvpsc/libvpsc.a       \
89         extension/libextension.a        \
90         extension/implementation/libimplementation.a    \
91         extension/internal/libinternal.a        \
92         libnr/libnr.a           \
93         extension/script/libscript.a    \
94         bind/libbind.a  \
95         dom/libdom.a            \
96         xml/libspxml.a          \
97         2geom/lib2geom.a        \
98         util/libinkutil.a       \
99         io/libio.a              \
100         $(inkjar_libs)          \
101         libinkpost.a            \
102         debug/libinkdebug.a     \
103         libinkversion.a
105 all_libs =                      \
106         $(inkscape_private_libs)        \
107         $(INKSCAPE_LIBS)        \
108         $(GNOME_VFS_LIBS)       \
109         $(XFT_LIBS)             \
110         $(FREETYPE_LIBS)        \
111         $(kdeldadd)             \
112         $(win32ldflags)         \
113         $(CARBON_LDFLAGS)       \
114         $(PERL_LIBS)            \
115         $(PYTHON_LIBS)          \
116         $(INKBOARD_LIBS)        \
117         $(LIBWPG_LIBS)          \
118         $(IMAGEMAGICK_LIBS)
120 # Include all partial makefiles from subdirectories
121 include Makefile_insert
122 include application/Makefile_insert
123 include bind/Makefile_insert
124 include dialogs/Makefile_insert
125 include display/Makefile_insert
126 include dom/Makefile_insert
127 include extension/Makefile_insert
128 include extension/implementation/Makefile_insert
129 include extension/internal/Makefile_insert
130 include extension/script/Makefile_insert
131 include filters/Makefile_insert
132 include helper/Makefile_insert
133 include inkjar/Makefile_insert
134 include io/Makefile_insert
135 include pedro/Makefile_insert
136 include jabber_whiteboard/Makefile_insert
137 include libcroco/Makefile_insert
138 include libgdl/Makefile_insert
139 include libnr/Makefile_insert
140 include libnrtype/Makefile_insert
141 include libavoid/Makefile_insert
142 include livarot/Makefile_insert
143 include live_effects/Makefile_insert
144 include live_effects/parameter/Makefile_insert
145 include libvpsc/Makefile_insert
146 include libcola/Makefile_insert
147 include removeoverlap/Makefile_insert
148 include graphlayout/Makefile_insert
149 include svg/Makefile_insert
150 include widgets/Makefile_insert
151 include debug/Makefile_insert
152 include xml/Makefile_insert
153 include traits/Makefile_insert
154 include algorithms/Makefile_insert
155 include ui/Makefile_insert
156 include ui/cache/Makefile_insert
157 include ui/dialog/Makefile_insert
158 include ui/view/Makefile_insert
159 include ui/widget/Makefile_insert
160 include util/Makefile_insert
161 include trace/Makefile_insert
162 include 2geom/Makefile_insert
164 # Executables compiled by "make" and installed by "make install"
165 bin_PROGRAMS = inkscape inkview
167 # Libraries which should be compiled by "make" but not installed
168 # Currently we use one library per source directory.
169 noinst_LIBRARIES = $(inkscape_private_libs)
171 # Extra files not mentioned as sources to include in the source tarball
172 EXTRA_DIST =    \
173         $(top_srcdir)/Doxyfile  \
174         sp-skeleton.cpp sp-skeleton.h   \
175         algorithms/makefile.in  \
176         application/makefile.in \
177         bind/makefile.in        \
178         debug/makefile.in       \
179         dialogs/makefile.in     \
180         display/makefile.in     \
181         dom/makefile.in         \
182         extension/implementation/makefile.in    \
183         extension/internal/makefile.in  \
184         extension/makefile.in   \
185         extension/script/makefile.in    \
186         filters/makefile.in \
187         helper/makefile.in      \
188         inkjar/makefile.in      \
189         io/makefile.in  \
190         io/crystalegg.xml       \
191         io/doc2html.xsl         \
192         pedro/makefile.in       \
193         jabber_whiteboard/makefile.in   \
194         libgdl/makefile.in      \
195         libcroco/makefile.in    \
196         libnr/makefile.in       \
197         libnrtype/makefile.in   \
198         libavoid/makefile.in    \
199         livarot/makefile.in     \
200         live_effects/makefile.in        \
201         live_effects/parameter/makefile.in      \
202         removeoverlap/makefile.in       \
203         svg/makefile.in         \
204         trace/makefile.in       \
205         traits/makefile.in      \
206         ui/makefile.in          \
207         ui/cache/makefile.in    \
208         ui/dialog/makefile.in   \
209         ui/view/makefile.in     \
210         ui/widget/makefile.in   \
211         util/makefile.in        \
212         widgets/makefile.in     \
213         xml/makefile.in         \
214         2geom/makefile.in       \
215         extension/internal/win32.cpp    \
216         extension/internal/win32.h      \
217         extension/internal/emf-win32-inout.cpp  \
218         extension/internal/emf-win32-inout.h    \
219         extension/internal/emf-win32-print.cpp  \
220         extension/internal/emf-win32-print.h    \
221         helper/sp-marshal.list  \
222         traits/copy.h   \
223         traits/function.h       \
224         traits/list-copy.h      \
225         traits/reference.h \
226         $(jabber_whiteboard_SOURCES)
228 EXTRA_PROGRAMS =        \
229         inkview         \
230         libnr/testnr
233 # #################################
234 # ## TESTING STUFF (make check) ###
235 # #################################
237 # List of all programs that should be built before testing. Note that this is
238 # different from TESTS, because some tests can be scripts that don't
239 # need to be built. There should be one test program per directory.
240 # automake adds $(EXEEXT) to check_PROGRAMS items but not to TESTS items:
241 # TESTS items can be scripts etc.
242 check_PROGRAMS = cxxtests
244 # streamtest is unfinished and can't handle the relocations done during
245 # "make distcheck".
247 # List of all tests to be run.
248 TESTS = $(check_PROGRAMS)
250 # including the the testsuites here ensures that they get distributed
251 cxxtests_SOURCES = cxxtests.cpp $(CXXTEST_TESTSUITES)
252 cxxtests_LDADD = libnr/nr-compose-reference.o $(all_libs)
254 cxxtests.cpp: $(CXXTEST_TESTSUITES) $(CXXTEST_TEMPLATE)
255         $(CXXTESTGEN) -o cxxtests.cpp $(CXXTEST_TESTSUITES)
257 # ################################################
258 #  D I S T
259 # ################################################
261 dist-hook:
262         mkdir $(distdir)/pixmaps
263         cp $(srcdir)/pixmaps/*xpm $(distdir)/pixmaps
265 distclean-local:
266         rm -f cxxtests.xml cxxtests.log