X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2FMakefile.am;h=8cbbbf21b0c36b08f0e788fab602e00fde15edd9;hb=2b242284dc5b7099759e66b34281fc90ac2f423c;hp=200abe1cfa369c5ea325a032e4cd8aa5ad1e545c;hpb=9cf82ac568634e779873c4bf6cd6b7bdd465556d;p=inkscape.git diff --git a/src/Makefile.am b/src/Makefile.am index 200abe1cf..8cbbbf21b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -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 @@ -13,6 +10,55 @@ # 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,64 +104,6 @@ inkjar_dir = inkjar inkjar_libs = inkjar/libinkjar.a endif -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 - -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 @@ -118,15 +112,15 @@ 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 @@ -137,42 +131,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 utest/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 to remove when doing "make distclean" -DISTCLEANFILES = \ - helper/sp-marshal.cpp \ - helper/sp-marshal.h \ - inkscape_version.h - # 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 +162,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,11 +175,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 \ - utest/makefile.in \ ui/makefile.in \ ui/cache/makefile.in \ ui/dialog/makefile.in \ @@ -220,18 +193,60 @@ EXTRA_DIST = \ extension/internal/emf-win32-print.cpp \ extension/internal/emf-win32-print.h \ helper/sp-marshal.list \ - utest/utest.h \ - utest/test-1ary-cases.h \ - 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 +# ################################################ -EXTRA_PROGRAMS = \ - inkview \ - libnr/testnr +# 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) + +# ################################################ +# 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) ### @@ -242,18 +257,18 @@ EXTRA_PROGRAMS = \ # need to be built. There should be one test program per directory. # automake adds $(EXEEXT) to check_PROGRAMS items but not to TESTS items: # TESTS items can be scripts etc. -check_PROGRAMS = \ - cxxtests \ - style-test +check_PROGRAMS = cxxtests + # streamtest is unfinished and can't handle the relocations done during # "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)