diff --git a/src/Makefile.am b/src/Makefile.am
index dece3edcfe9e4c2fefdbece3159c6edf11a728a9..0c585d6a9de38a2f9d5815be5755a2cec4319eb4 100644 (file)
--- a/src/Makefile.am
+++ b/src/Makefile.am
## Process this file with automake to produce Makefile.in
-
# ################################################
-#
# G L O B A L
-#
# ################################################
# Should work in either automake1.7 or 1.8, but 1.6 doesn't
# Executables compiled by "make" and installed by "make install"
bin_PROGRAMS = inkscape inkview
+# Libraries which should be compiled by "make" but not installed.
+# Use this only for libraries that are really standalone, rather than for
+# source tree subdirectories.
+#if WITH_INKBOARD
+#libpedro = pedro/libpedro.a
+#endif
+noinst_LIBRARIES = \
+ libinkscape.a \
+ dom/libdom.a \
+ libcroco/libcroco.a \
+ libavoid/libavoid.a \
+ libgdl/libgdl.a \
+ libcola/libcola.a \
+ libvpsc/libvpsc.a \
+ livarot/libvarot.a \
+ 2geom/lib2geom.a \
+ $(libpedro) \
+ libinkversion.a
+
+all_libs = \
+ $(noinst_LIBRARIES) \
+ $(INKSCAPE_LIBS) \
+ $(GNOME_VFS_LIBS) \
+ $(XFT_LIBS) \
+ $(FREETYPE_LIBS) \
+ $(kdeldadd) \
+ $(win32ldflags) \
+ $(CARBON_LDFLAGS) \
+ $(PERL_LIBS) \
+ $(PYTHON_LIBS) \
+ $(INKBOARD_LIBS) \
+ $(LIBWPG_LIBS) \
+ $(DBUS_LIBS) \
+ $(IMAGEMAGICK_LIBS)
+
# Add sources common for Inkscape and Inkview to this variable.
ink_common_sources =
# Add Inkscape-only sources here.
inkscape_SOURCES =
# Add Inkview-only sources here.
inkview_SOURCES =
-
-# Libraries which should be compiled by "make" but not installed.
-# Use this only for libraries that are really standalone, rather than for
-# source tree subdirectories.
-noinst_LIBRARIES = $(inkscape_private_libs)
+# Add sources that are built from meta files
+BUILT_SOURCES =
+# Extra files to distribute
+EXTRA_DIST =
INCLUDES = \
$(PERL_CFLAGS) $(PYTHON_CFLAGS) \
$(IMAGEMAGICK_CFLAGS) \
$(INKBOARD_CFLAGS) \
$(LIBWPG_CFLAGS) \
+ $(DBUS_CFLAGS) \
$(XFT_CFLAGS) \
$(LCMS_CFLAGS) \
$(POPPLER_CFLAGS) \
$(WIN32_CFLAGS) \
-I$(srcdir)/bind/javainc \
-I$(srcdir)/bind/javainc/linux \
+ -I$(builddir)/extension/dbus \
$(AM_CPPFLAGS)
CXXTEST_TEMPLATE = $(srcdir)/cxxtest-template.tpl
if PLATFORM_WIN32
win32_sources = winmain.cpp registrytool.cpp registrytool.h
-win32ldflags = -lcomdlg32
+win32ldflags = -lcomdlg32 -lmscms
+mwindows = -mwindows
endif
if INKJAR
inkjar_libs = inkjar/libinkjar.a
endif
-# Extra files to remove when doing "make distclean"
-DISTCLEANFILES = \
- helper/sp-marshal.cpp \
- helper/sp-marshal.h \
- inkscape-version.cpp
-
-if WITH_INKBOARD
-libpedro = pedro/libpedro.a
-endif
-
-inkscape_private_libs = \
- dom/libdom.a \
- libcroco/libcroco.a \
- libavoid/libavoid.a \
- libgdl/libgdl.a \
- libcola/libcola.a \
- libvpsc/libvpsc.a \
- livarot/libvarot.a \
- 2geom/lib2geom.a \
- $(libpedro) \
- libinkversion.a
-
-all_libs = \
- $(inkscape_private_libs) \
- $(INKSCAPE_LIBS) \
- $(GNOME_VFS_LIBS) \
- $(XFT_LIBS) \
- $(FREETYPE_LIBS) \
- $(kdeldadd) \
- $(win32ldflags) \
- $(CARBON_LDFLAGS) \
- $(PERL_LIBS) \
- $(PYTHON_LIBS) \
- $(INKBOARD_LIBS) \
- $(LIBWPG_LIBS) \
- $(IMAGEMAGICK_LIBS)
-
# Include all partial makefiles from subdirectories
include Makefile_insert
-include application/Makefile_insert
include bind/Makefile_insert
include dialogs/Makefile_insert
include display/Makefile_insert
include dom/Makefile_insert
include extension/Makefile_insert
+include extension/dbus/Makefile_insert
include extension/implementation/Makefile_insert
include extension/internal/Makefile_insert
include extension/script/Makefile_insert
include filters/Makefile_insert
include helper/Makefile_insert
-include inkjar/Makefile_insert
include io/Makefile_insert
-include pedro/Makefile_insert
-include jabber_whiteboard/Makefile_insert
+#include pedro/Makefile_insert
+#include jabber_whiteboard/Makefile_insert
include libcroco/Makefile_insert
include libgdl/Makefile_insert
include libnr/Makefile_insert
include live_effects/parameter/Makefile_insert
include libvpsc/Makefile_insert
include libcola/Makefile_insert
-include removeoverlap/Makefile_insert
-include graphlayout/Makefile_insert
include svg/Makefile_insert
include widgets/Makefile_insert
include debug/Makefile_insert
include xml/Makefile_insert
-include traits/Makefile_insert
-include algorithms/Makefile_insert
include ui/Makefile_insert
include ui/cache/Makefile_insert
include ui/dialog/Makefile_insert
+include ui/tool/Makefile_insert
include ui/view/Makefile_insert
include ui/widget/Makefile_insert
include util/Makefile_insert
include 2geom/Makefile_insert
# Extra files not mentioned as sources to include in the source tarball
-EXTRA_DIST = \
+EXTRA_DIST += \
$(top_srcdir)/Doxyfile \
sp-skeleton.cpp sp-skeleton.h \
- algorithms/makefile.in \
+ util/makefile.in \
application/makefile.in \
bind/makefile.in \
debug/makefile.in \
extension/script/makefile.in \
filters/makefile.in \
helper/makefile.in \
- inkjar/makefile.in \
io/makefile.in \
io/crystalegg.xml \
io/doc2html.xsl \
livarot/makefile.in \
live_effects/makefile.in \
live_effects/parameter/makefile.in \
- removeoverlap/makefile.in \
svg/makefile.in \
trace/makefile.in \
- traits/makefile.in \
ui/makefile.in \
ui/cache/makefile.in \
ui/dialog/makefile.in \
extension/internal/emf-win32-print.cpp \
extension/internal/emf-win32-print.h \
helper/sp-marshal.list \
- traits/copy.h \
- traits/function.h \
- traits/list-copy.h \
- traits/reference.h \
- $(jabber_whiteboard_SOURCES)
+ show-preview.bmp \
+ winconsole.cpp \
+ $(jabber_whiteboard_SOURCES) \
+ $(CXXTEST_TEMPLATE)
+
+# Extra files to remove when doing "make distclean"
+DISTCLEANFILES = \
+ helper/sp-marshal.cpp \
+ helper/sp-marshal.h \
+ inkscape-version.cpp
# ################################################
-#
# B I N A R I E S
-#
# ################################################
-inkscape_SOURCES += main.cpp $(ink_common_sources) $(win32_sources)
+# this should speed up the build
+libinkscape_a_SOURCES = $(ink_common_sources)
+
+inkscape_SOURCES += main.cpp $(win32_sources)
inkscape_LDADD = $(all_libs)
-inkscape_LDFLAGS = --export-dynamic $(kdeldflags)
+inkscape_LDFLAGS = --export-dynamic $(kdeldflags) $(mwindows)
-inkview_SOURCES += inkview.cpp $(ink_common_sources) $(win32_sources)
+inkview_SOURCES += inkview.cpp $(win32_sources)
inkview_LDADD = $(all_libs)
+inkview_LDFLAGS = $(mwindows)
+
+# ################################################
+# VERSION REPORTING
+# ################################################
+
+libinkversion_a_SOURCES = inkscape-version.cpp inkscape-version.h
+
+if USE_BZR_VERSION
+inkscape_version_deps = $(top_srcdir)/.bzr/branch/last-revision
+endif
+
+# If this is an BZR snapshot build, regenerate this file every time
+# someone updates the BZR working directory.
+inkscape-version.cpp: $(inkscape_version_deps)
+ VER_PREFIX="$(VERSION)";\
+ VER_BZRREV=" r`bzr revno`"; \
+ if test ! -z "`bzr status -S -V $(srcdir)`"; then \
+ VER_CUSTOM=" custom"; \
+ fi; \
+ VERSION="$$VER_PREFIX$$VER_BZRREV$$VER_CUSTOM"; \
+ echo "namespace Inkscape { " \
+ "char const *version_string = \"$$VERSION\"; " \
+ "}" > inkscape-version.new.cpp; \
+ if cmp -s inkscape-version.new.cpp inkscape-version.cpp; then \
+ rm inkscape-version.new.cpp; \
+ else \
+ mv inkscape-version.new.cpp inkscape-version.cpp; \
+ fi; \
+ echo $$VERSION
# #################################
# ## TESTING STUFF (make check) ###
# "make distcheck".
# List of all tests to be run.
-TESTS = $(check_PROGRAMS)
+TESTS = $(check_PROGRAMS) ../share/extensions/test/run-all-extension-tests
+XFAIL_TESTS = $(check_PROGRAMS) ../share/extensions/test/run-all-extension-tests
# including the the testsuites here ensures that they get distributed
-cxxtests_SOURCES = cxxtests.cpp $(CXXTEST_TESTSUITES)
-cxxtests_LDADD = libnr/nr-compose-reference.o $(ink_common_sources)
+cxxtests_SOURCES = cxxtests.cpp libnr/nr-compose-reference.cpp $(CXXTEST_TESTSUITES)
+cxxtests_LDADD = $(all_libs)
cxxtests.cpp: $(CXXTEST_TESTSUITES) $(CXXTEST_TEMPLATE)
$(CXXTESTGEN) -o cxxtests.cpp $(CXXTEST_TESTSUITES)