Code

Use subdirectories with icon sizes.
[inkscape.git] / src / Makefile.am
index 44b885ab0e428bd2ba4d45819c462cbcfc637a4e..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
 # so perhaps 1.6 will work.
 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 =
+# Add sources that are built from meta files
+BUILT_SOURCES =
+# Extra files to distribute
+EXTRA_DIST =
+
 INCLUDES =     \
        $(PERL_CFLAGS) $(PYTHON_CFLAGS) \
        $(FREETYPE_CFLAGS)      \
@@ -21,6 +67,7 @@ INCLUDES =    \
        $(IMAGEMAGICK_CFLAGS) \
        $(INKBOARD_CFLAGS) \
        $(LIBWPG_CFLAGS) \
+       $(DBUS_CFLAGS) \
        $(XFT_CFLAGS)   \
        $(LCMS_CFLAGS)  \
        $(POPPLER_CFLAGS)       \
@@ -28,7 +75,11 @@ INCLUDES =   \
        -DPOTRACE=\"potrace\"   \
        $(INKSCAPE_CFLAGS) \
        -I$(top_srcdir)/cxxtest \
-       $(WIN32_CFLAGS)
+       $(WIN32_CFLAGS) \
+       -I$(srcdir)/bind/javainc \
+       -I$(srcdir)/bind/javainc/linux \
+       -I$(builddir)/extension/dbus \
+       $(AM_CPPFLAGS)
 
 CXXTEST_TEMPLATE = $(srcdir)/cxxtest-template.tpl
 CXXTESTGENFLAGS = --root --have-eh --template=$(CXXTEST_TEMPLATE)
@@ -44,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
@@ -52,88 +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
-
-inkscape_private_libs =        \
-       libinkpre.a             \
-       application/libinkapp.a \
-       ui/dialog/libuidialog.a \
-       dialogs/libspdialogs.a  \
-       ui/cache/libuicache.a   \
-       jabber_whiteboard/libjabber_whiteboard.a \
-       pedro/libpedro.a        \
-       trace/libtrace.a        \
-       svg/libspsvg.a          \
-       filters/libfilters.a    \
-       widgets/libspwidgets.a  \
-       display/libspdisplay.a  \
-       helper/libspchelp.a     \
-       libcroco/libcroco.a     \
-       libnrtype/libnrtype.a   \
-       libavoid/libavoid.a     \
-       livarot/libvarot.a      \
-       live_effects/liblive_effects.a  \
-       live_effects/parameter/liblpeparam.a    \
-       ui/view/libuiview.a     \
-       ui/libui.a              \
-       ui/widget/libuiwidget.a \
-       libgdl/libgdl.a         \
-       graphlayout/libgraphlayout.a    \
-       removeoverlap/libremoveoverlap.a                \
-       libcola/libcola.a       \
-       libvpsc/libvpsc.a       \
-       extension/libextension.a        \
-       extension/implementation/libimplementation.a    \
-       extension/internal/libinternal.a        \
-       libnr/libnr.a           \
-       extension/script/libscript.a    \
-       bind/libbind.a  \
-       dom/libdom.a            \
-       xml/libspxml.a          \
-       2geom/lib2geom.a        \
-       util/libinkutil.a       \
-       io/libio.a              \
-       $(inkjar_libs)          \
-       libinkpost.a            \
-       debug/libinkdebug.a     \
-       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
@@ -144,35 +130,25 @@ 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
 include trace/Makefile_insert
 include 2geom/Makefile_insert
 
-# Executables compiled by "make" and installed by "make install"
-bin_PROGRAMS = inkscape inkview
-
-# Libraries which should be compiled by "make" but not installed
-# Currently we use one library per source directory.
-noinst_LIBRARIES = $(inkscape_private_libs)
-
 # 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       \
@@ -185,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         \
@@ -199,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   \
@@ -219,16 +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
+# ################################################
+
+# 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) $(mwindows)
+
+inkview_SOURCES += inkview.cpp $(win32_sources)
+inkview_LDADD = $(all_libs)
+inkview_LDFLAGS = $(mwindows) 
 
-EXTRA_PROGRAMS =       \
-       inkview         \
-       libnr/testnr
+# ################################################
+#  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) ###
@@ -245,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 $(all_libs)
+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)