1 ## Process this file with automake to produce Makefile.in
3 # ################################################
4 # G L O B A L
5 # ################################################
7 # Should work in either automake1.7 or 1.8, but 1.6 doesn't
8 # handle foo/libfoo_a_CPPFLAGS properly (if at all).
9 # Update: We now avoid setting foo/libfoo_a_CPPFLAGS,
10 # so perhaps 1.6 will work.
11 AUTOMAKE_OPTIONS = 1.7 subdir-objects
13 # Executables compiled by "make" and installed by "make install"
14 bin_PROGRAMS = inkscape inkview
16 # Libraries which should be compiled by "make" but not installed.
17 # Use this only for libraries that are really standalone, rather than for
18 # source tree subdirectories.
19 if WITH_INKBOARD
20 libpedro = pedro/libpedro.a
21 endif
22 noinst_LIBRARIES = \
23 libinkscape.a \
24 dom/libdom.a \
25 libcroco/libcroco.a \
26 libavoid/libavoid.a \
27 libgdl/libgdl.a \
28 libcola/libcola.a \
29 libvpsc/libvpsc.a \
30 livarot/libvarot.a \
31 2geom/lib2geom.a \
32 $(libpedro) \
33 libinkversion.a
35 all_libs = \
36 $(noinst_LIBRARIES) \
37 $(INKSCAPE_LIBS) \
38 $(GNOME_VFS_LIBS) \
39 $(XFT_LIBS) \
40 $(FREETYPE_LIBS) \
41 $(kdeldadd) \
42 $(win32ldflags) \
43 $(CARBON_LDFLAGS) \
44 $(PERL_LIBS) \
45 $(PYTHON_LIBS) \
46 $(INKBOARD_LIBS) \
47 $(LIBWPG_LIBS) \
48 $(IMAGEMAGICK_LIBS)
50 # Add sources common for Inkscape and Inkview to this variable.
51 ink_common_sources =
52 # Add Inkscape-only sources here.
53 inkscape_SOURCES =
54 # Add Inkview-only sources here.
55 inkview_SOURCES =
57 INCLUDES = \
58 $(PERL_CFLAGS) $(PYTHON_CFLAGS) \
59 $(FREETYPE_CFLAGS) \
60 $(GNOME_PRINT_CFLAGS) \
61 $(GNOME_VFS_CFLAGS) \
62 $(IMAGEMAGICK_CFLAGS) \
63 $(INKBOARD_CFLAGS) \
64 $(LIBWPG_CFLAGS) \
65 $(XFT_CFLAGS) \
66 $(LCMS_CFLAGS) \
67 $(POPPLER_CFLAGS) \
68 $(POPPLER_GLIB_CFLAGS) \
69 -DPOTRACE=\"potrace\" \
70 $(INKSCAPE_CFLAGS) \
71 -I$(top_srcdir)/cxxtest \
72 $(WIN32_CFLAGS) \
73 -I$(srcdir)/bind/javainc \
74 -I$(srcdir)/bind/javainc/linux \
75 $(AM_CPPFLAGS)
77 CXXTEST_TEMPLATE = $(srcdir)/cxxtest-template.tpl
78 CXXTESTGENFLAGS = --root --have-eh --template=$(CXXTEST_TEMPLATE)
79 CXXTESTGEN = $(top_srcdir)/cxxtest/cxxtestgen.pl $(CXXTESTGENFLAGS)
80 # Add test cases to this variable
81 CXXTEST_TESTSUITES =
83 # ################################################
84 #
85 # E X T R A
86 #
87 # ################################################
89 if PLATFORM_WIN32
90 win32_sources = winmain.cpp registrytool.cpp registrytool.h
91 win32ldflags = -lcomdlg32
92 endif
94 if INKJAR
95 inkjar_dir = inkjar
96 inkjar_libs = inkjar/libinkjar.a
97 endif
99 # Include all partial makefiles from subdirectories
100 include Makefile_insert
101 include application/Makefile_insert
102 include bind/Makefile_insert
103 include dialogs/Makefile_insert
104 include display/Makefile_insert
105 include dom/Makefile_insert
106 include extension/Makefile_insert
107 include extension/implementation/Makefile_insert
108 include extension/internal/Makefile_insert
109 include extension/script/Makefile_insert
110 include filters/Makefile_insert
111 include helper/Makefile_insert
112 include inkjar/Makefile_insert
113 include io/Makefile_insert
114 include pedro/Makefile_insert
115 include jabber_whiteboard/Makefile_insert
116 include libcroco/Makefile_insert
117 include libgdl/Makefile_insert
118 include libnr/Makefile_insert
119 include libnrtype/Makefile_insert
120 include libavoid/Makefile_insert
121 include livarot/Makefile_insert
122 include live_effects/Makefile_insert
123 include live_effects/parameter/Makefile_insert
124 include libvpsc/Makefile_insert
125 include libcola/Makefile_insert
126 include removeoverlap/Makefile_insert
127 include graphlayout/Makefile_insert
128 include svg/Makefile_insert
129 include widgets/Makefile_insert
130 include debug/Makefile_insert
131 include xml/Makefile_insert
132 include traits/Makefile_insert
133 include algorithms/Makefile_insert
134 include ui/Makefile_insert
135 include ui/cache/Makefile_insert
136 include ui/dialog/Makefile_insert
137 include ui/view/Makefile_insert
138 include ui/widget/Makefile_insert
139 include util/Makefile_insert
140 include trace/Makefile_insert
141 include 2geom/Makefile_insert
143 # Extra files not mentioned as sources to include in the source tarball
144 EXTRA_DIST = \
145 $(top_srcdir)/Doxyfile \
146 sp-skeleton.cpp sp-skeleton.h \
147 algorithms/makefile.in \
148 application/makefile.in \
149 bind/makefile.in \
150 debug/makefile.in \
151 dialogs/makefile.in \
152 display/makefile.in \
153 dom/makefile.in \
154 extension/implementation/makefile.in \
155 extension/internal/makefile.in \
156 extension/makefile.in \
157 extension/script/makefile.in \
158 filters/makefile.in \
159 helper/makefile.in \
160 inkjar/makefile.in \
161 io/makefile.in \
162 io/crystalegg.xml \
163 io/doc2html.xsl \
164 pedro/makefile.in \
165 jabber_whiteboard/makefile.in \
166 libgdl/makefile.in \
167 libcroco/makefile.in \
168 libnr/makefile.in \
169 libnrtype/makefile.in \
170 libavoid/makefile.in \
171 livarot/makefile.in \
172 live_effects/makefile.in \
173 live_effects/parameter/makefile.in \
174 removeoverlap/makefile.in \
175 svg/makefile.in \
176 trace/makefile.in \
177 traits/makefile.in \
178 ui/makefile.in \
179 ui/cache/makefile.in \
180 ui/dialog/makefile.in \
181 ui/view/makefile.in \
182 ui/widget/makefile.in \
183 util/makefile.in \
184 widgets/makefile.in \
185 xml/makefile.in \
186 2geom/makefile.in \
187 extension/internal/win32.cpp \
188 extension/internal/win32.h \
189 extension/internal/emf-win32-inout.cpp \
190 extension/internal/emf-win32-inout.h \
191 extension/internal/emf-win32-print.cpp \
192 extension/internal/emf-win32-print.h \
193 helper/sp-marshal.list \
194 traits/copy.h \
195 traits/function.h \
196 traits/list-copy.h \
197 traits/reference.h \
198 $(jabber_whiteboard_SOURCES) \
199 $(CXXTEST_TEMPLATE)
201 # Extra files to remove when doing "make distclean"
202 DISTCLEANFILES = \
203 helper/sp-marshal.cpp \
204 helper/sp-marshal.h \
205 inkscape-version.cpp
207 # ################################################
208 # B I N A R I E S
209 # ################################################
211 # this should speed up the build
212 libinkscape_a_SOURCES = $(ink_common_sources)
214 inkscape_SOURCES += main.cpp $(win32_sources)
215 inkscape_LDADD = $(all_libs)
216 inkscape_LDFLAGS = --export-dynamic $(kdeldflags)
218 inkview_SOURCES += inkview.cpp $(win32_sources)
219 inkview_LDADD = $(all_libs)
221 # ################################################
222 # VERSION REPORTING
223 # ################################################
225 libinkversion_a_SOURCES = inkscape-version.cpp inkscape-version.h
227 if USE_SVN_VERSION
228 inkscape_version_deps = $(top_srcdir)/.svn/entries
229 endif
231 # If this is an SVN snapshot build, regenerate this file every time
232 # someone updates the SVN working directory.
233 inkscape-version.cpp: $(inkscape_version_deps)
234 VER_PREFIX="$(VERSION)"; \
235 if test -x "$(srcdir)/.svn" -a ! -z `which svn`; then \
236 VER_SVNREV=" r`LANG=en svn info $(srcdir) | sed -n -e '/^Revision:/s/Revision: \(.*\)/\1/p'`"; \
237 if test ! -z "`svn status -q $(srcdir)`"; then \
238 VER_CUSTOM=" custom"; \
239 fi; \
240 fi; \
241 VERSION="$$VER_PREFIX$$VER_SVNREV$$VER_CUSTOM"; \
242 echo "namespace Inkscape { " \
243 "char const *version_string = \"$$VERSION\"; " \
244 "}" > inkscape-version.new.cpp; \
245 if cmp -s inkscape-version.new.cpp inkscape-version.cpp; then \
246 rm inkscape-version.new.cpp; \
247 else \
248 mv inkscape-version.new.cpp inkscape-version.cpp; \
249 fi; \
250 echo $$VERSION
252 # #################################
253 # ## TESTING STUFF (make check) ###
254 # #################################
256 # List of all programs that should be built before testing. Note that this is
257 # different from TESTS, because some tests can be scripts that don't
258 # need to be built. There should be one test program per directory.
259 # automake adds $(EXEEXT) to check_PROGRAMS items but not to TESTS items:
260 # TESTS items can be scripts etc.
261 check_PROGRAMS = cxxtests
263 # streamtest is unfinished and can't handle the relocations done during
264 # "make distcheck".
266 # List of all tests to be run.
267 TESTS = $(check_PROGRAMS) ../share/extensions/test/run-all-extension-tests
269 # including the the testsuites here ensures that they get distributed
270 cxxtests_SOURCES = cxxtests.cpp $(CXXTEST_TESTSUITES)
271 cxxtests_LDADD = libnr/nr-compose-reference.o $(all_libs)
273 cxxtests.cpp: $(CXXTEST_TESTSUITES) $(CXXTEST_TEMPLATE)
274 $(CXXTESTGEN) -o cxxtests.cpp $(CXXTEST_TESTSUITES)
276 # ################################################
277 # D I S T
278 # ################################################
280 dist-hook:
281 mkdir $(distdir)/pixmaps
282 cp $(srcdir)/pixmaps/*xpm $(distdir)/pixmaps
284 distclean-local:
285 rm -f cxxtests.xml cxxtests.log