Code

Filters. Custom predefined filters update and new ABC filters.
[inkscape.git] / src / Makefile.am
index dece3edcfe9e4c2fefdbece3159c6edf11a728a9..0c585d6a9de38a2f9d5815be5755a2cec4319eb4 100644 (file)
@@ -1,10 +1,7 @@
 ## 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
@@ -16,17 +13,51 @@ AUTOMAKE_OPTIONS = 1.7 subdir-objects
 # 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) \
@@ -36,6 +67,7 @@ INCLUDES =    \
        $(IMAGEMAGICK_CFLAGS) \
        $(INKBOARD_CFLAGS) \
        $(LIBWPG_CFLAGS) \
+       $(DBUS_CFLAGS) \
        $(XFT_CFLAGS)   \
        $(LCMS_CFLAGS)  \
        $(POPPLER_CFLAGS)       \
@@ -46,6 +78,7 @@ INCLUDES =    \
        $(WIN32_CFLAGS) \
        -I$(srcdir)/bind/javainc \
        -I$(srcdir)/bind/javainc/linux \
+       -I$(builddir)/extension/dbus \
        $(AM_CPPFLAGS)
 
 CXXTEST_TEMPLATE = $(srcdir)/cxxtest-template.tpl
@@ -62,7 +95,8 @@ CXXTEST_TESTSUITES =
 
 if PLATFORM_WIN32
 win32_sources = winmain.cpp registrytool.cpp registrytool.h
-win32ldflags = -lcomdlg32
+win32ldflags = -lcomdlg32 -lmscms
+mwindows = -mwindows
 endif 
 
 if INKJAR
@@ -70,60 +104,22 @@ inkjar_dir = 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
@@ -134,17 +130,14 @@ include live_effects/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
@@ -152,10 +145,10 @@ include trace/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       \
@@ -168,7 +161,6 @@ EXTRA_DIST =        \
        extension/script/makefile.in    \
        filters/makefile.in \
        helper/makefile.in      \
-       inkjar/makefile.in      \
        io/makefile.in  \
        io/crystalegg.xml       \
        io/doc2html.xsl         \
@@ -182,10 +174,8 @@ EXTRA_DIST =       \
        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   \
@@ -202,24 +192,60 @@ EXTRA_DIST =      \
        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) ###
@@ -236,11 +262,12 @@ check_PROGRAMS = cxxtests
 # "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)