## Makefile.am fragment, included by src/Makefile.am.


# ################################################
#
#  E X T R A 
#
# ################################################

if PLATFORM_WIN32
win32_sources = winmain.cpp registrytool.cpp registrytool.h
win32ldflags = -lcomdlg32
endif 

if INKJAR
inkjar_dir = inkjar
inkjar_libs = inkjar/libinkjar.a
endif


# ################################################
#
#  I N K S C A P E
#
# ################################################

# libinkpre.a: any object that's sharable between inkscape & inkview,
# and isn't needed by object files in subdirectories (i.e. libinkpre.a
# comes before subdirectory libraries on the link line).
#
# Excludes winmain.cpp (a gui wrapper around main): I'm guessing that
# it needs to be explicitly listed as a source of each graphical
# binary: it isn't (to my knowledge) called by main (whether directly
# or indirectly), so I don't think that putting it in a library will
# suffice to get it linked in.  Windows devel please confirm.  -- pjrm.

libinkpre_a_SOURCES =	\
	algorithms/find-last-if.h	\
	algorithms/longest-common-suffix.h	\
	approx-equal.h remove-last.h	\
	arc-context.cpp arc-context.h	\
	attributes.cpp attributes.h	\
	axis-manip.cpp axis-manip.h	\
	bad-uri-exception.h	\
	box3d.cpp box3d.h \
	box3d-context.cpp box3d-context.h \
	box3d-face.cpp box3d-face.h \
	brokenimage.xpm	\
	color-rgba.h	\
	color-profile.cpp color-profile.h	\
	color-profile-fns.h	\
	conditions.cpp conditions.h\
	conn-avoid-ref.cpp conn-avoid-ref.h	\
	connector-context.cpp connector-context.h	\
	connection-pool.h \
	console-output-undo-observer.h console-output-undo-observer.cpp \
	context-fns.cpp context-fns.h \
	desktop-affine.cpp desktop-affine.h	\
	desktop-events.cpp desktop-events.h	\
	desktop-handles.cpp desktop-handles.h	\
	desktop-style.cpp desktop-style.h	\
	desktop.cpp desktop.h	\
	document-undo.cpp	\
	document.cpp document.h document-private.h	\
	document-subset.cpp document-subset.h	\
        doxygen-main.cpp \
	draw-anchor.cpp	\
	draw-anchor.h	\
	draw-context.cpp draw-context.h	\
	dropper-context.cpp dropper-context.h	\
	dyna-draw-context.cpp dyna-draw-context.h	\
	enums.h	\
	event-context.cpp event-context.h	\
	event-log.cpp event-log.h event.h      \
	extract-uri.cpp extract-uri.h	\
	file.cpp file.h	\
	filter-chemistry.cpp filter-chemistry.h \
	filter-enums.cpp filter-enums.h \
	flood-context.cpp flood-context.h	\
	fontsize-expansion.cpp fontsize-expansion.h	\
	forward.h	\
	geom.cpp geom.h	\
	gradient-context.cpp gradient-context.h \
	gradient-drag.cpp gradient-drag.h \
	help.cpp help.h	\
        icon-size.h \
	inkscape-stock.cpp inkscape-stock.h\
	inkscape.cpp inkscape.h inkscape-private.h	\
	interface.cpp interface.h	\
	isnan.h \
	isnormal.h \
	knot-enums.h	\
	knot-holder-entity.h	\
	knot.cpp knot.h	\
	knotholder.cpp knotholder.h	\
	layer-fns.cpp layer-fns.h	\
	layer-manager.cpp layer-manager.h	\
	line-geometry.cpp line-geometry.h	\
	macros.h	\
	main-cmdlineact.cpp main-cmdlineact.h \
	media.cpp media.h	\
	message-context.cpp message-context.h \
	message-stack.cpp message-stack.h \
	message.h \
	mod360.cpp mod360.h	\
	modifier-fns.h	\
	node-context.cpp node-context.h	\
	nodepath.cpp nodepath.h	\
	object-edit.cpp object-edit.h	\
	object-hierarchy.cpp object-hierarchy.h \
	ui/context-menu.cpp \
	ui/context-menu.h	\
	path-chemistry.cpp path-chemistry.h	\
	path-prefix.h	\
	pen-context.cpp	\
	pen-context.h	\
	pencil-context.cpp	\
	pencil-context.h	\
	perspective-line.cpp perspective-line.h	\
	perspective3d.cpp perspective3d.h	\
	preferences.cpp preferences.h \
	preferences-skeleton.h	\
	menus-skeleton.h	\
	prefix.cpp	\
	prefix.h	\
	prefs-utils.cpp	\
	prefs-utils.h	\
	print.cpp print.h	\
	profile-manager.cpp	\
	profile-manager.h	\
	rect-context.cpp rect-context.h	\
	require-config.h \
	rubberband.cpp rubberband.h	\
	satisfied-guide-cns.cpp satisfied-guide-cns.h	\
	selcue.cpp selcue.h \
	select-context.cpp select-context.h	\
	selection-chemistry.cpp selection-chemistry.h	\
	selection-describer.cpp selection-describer.h   \
	selection.cpp selection.h	\
	seltrans-handles.cpp seltrans-handles.h	\
	seltrans.cpp seltrans.h	\
	shape-editor.cpp shape-editor.h \
	shortcuts.cpp shortcuts.h	\
	snap.cpp snap.h	\
	snapped-point.cpp snapped-point.h \
	snapper.cpp snapper.h \
	line-snapper.cpp line-snapper.h \
	guide-snapper.cpp guide-snapper.h \
	object-snapper.cpp object-snapper.h \
	sp-anchor.cpp sp-anchor.h	\
	sp-clippath.cpp sp-clippath.h	\
	sp-conn-end-pair.cpp sp-conn-end-pair.h	\
	sp-conn-end.cpp sp-conn-end.h	\
	sp-cursor.cpp sp-cursor.h	\
	sp-defs.cpp sp-defs.h	\
	sp-ellipse.cpp sp-ellipse.h	\
	sp-feblend.cpp sp-feblend.h	\
	sp-feblend-fns.h	\
	sp-fecolormatrix.cpp sp-fecolormatrix.h	\
	sp-fecolormatrix-fns.h	\
	sp-fecomponenttransfer.cpp sp-fecomponenttransfer.h	\
	sp-fecomponenttransfer-fns.h	\
	sp-fecomposite.cpp sp-fecomposite.h	\
	sp-fecomposite-fns.h	\
	sp-feconvolvematrix.cpp sp-feconvolvematrix.h	\
	sp-feconvolvematrix-fns.h	\
	sp-fediffuselighting.cpp sp-fediffuselighting.h	\
	sp-fediffuselighting-fns.h	\
	sp-fedisplacementmap.cpp sp-fedisplacementmap.h	\
	sp-fedisplacementmap-fns.h	\
	sp-fedistantlight.cpp sp-fedistantlight.h \
	sp-feflood.cpp sp-feflood.h	\
	sp-feflood-fns.h	\
	sp-feimage.cpp sp-feimage.h	\
	sp-feimage-fns.h	\
	sp-femerge.cpp sp-femerge.h	\
	sp-femerge-fns.h	\
	sp-femergenode.cpp sp-femergenode.h \
	sp-femorphology.cpp sp-femorphology.h	\
	sp-femorphology-fns.h	\
	sp-feoffset.cpp sp-feoffset.h	\
	sp-feoffset-fns.h	\
	sp-fepointlight.cpp sp-fepointlight.h \
	sp-fespecularlighting.cpp sp-fespecularlighting.h	\
	sp-fespecularlighting-fns.h	\
	sp-fespotlight.cpp sp-fespotlight.h \
	sp-fetile.cpp sp-fetile.h	\
	sp-fetile-fns.h	\
	sp-feturbulence.cpp sp-feturbulence.h	\
	sp-feturbulence-fns.h	\
	sp-filter-fns.h	\
	sp-filter-primitive.cpp	\
	sp-filter-primitive.h	\
	sp-filter-reference.cpp	\
	sp-filter-reference.h	\
	sp-filter-units.h	\
	sp-filter.cpp sp-filter.h number-opt-number.h	\
	sp-flowdiv.h sp-flowdiv.cpp \
	sp-flowregion.h sp-flowregion.cpp \
	sp-flowtext.h sp-flowtext.cpp \
	sp-gaussian-blur.cpp sp-gaussian-blur.h	\
	sp-gaussian-blur-fns.h	\
	sp-gradient-fns.h	\
	sp-gradient-reference.cpp	\
	sp-gradient-reference.h	\
	sp-gradient-spread.h	\
	sp-gradient-units.h	\
	sp-gradient-vector.h	\
	sp-gradient.cpp sp-gradient.h	\
	sp-guide-attachment.h	\
	sp-guide-constraint.h	\
	sp-guide.cpp sp-guide.h	\
	sp-image.cpp sp-image.h	\
	sp-item-group.cpp sp-item-group.h	\
	sp-item-notify-moveto.cpp sp-item-notify-moveto.h	\
	sp-item-rm-unsatisfied-cns.cpp sp-item-rm-unsatisfied-cns.h	\
	sp-item-transform.cpp sp-item-transform.h	\
	sp-item-update-cns.cpp sp-item-update-cns.h	\
	sp-item.cpp sp-item.h	\
	sp-line.cpp sp-line.h	\
	sp-linear-gradient-fns.h	\
	sp-linear-gradient.h	\
	sp-marker-loc.h	\
	marker.cpp marker.h	\
	sp-mask.cpp sp-mask.h	\
	sp-metadata.cpp sp-metadata.h	\
	sp-metric.h	\
	sp-metrics.cpp sp-metrics.h	\
	sp-namedview.cpp sp-namedview.h	\
	sp-object-group.cpp sp-object-group.h	\
	sp-object-repr.cpp sp-object-repr.h	\
	sp-object.cpp sp-object.h	\
	sp-offset.cpp sp-offset.h	\
	sp-paint-server.cpp sp-paint-server.h	\
	sp-path.cpp sp-path.h	\
	sp-pattern.cpp sp-pattern.h	\
	sp-polygon.cpp sp-polygon.h	\
	sp-polyline.cpp sp-polyline.h	\
	sp-radial-gradient-fns.h	\
	sp-radial-gradient.h	\
	sp-rect.cpp sp-rect.h	\
	sp-root.cpp sp-root.h	\
	sp-shape.cpp sp-shape.h	\
	sp-spiral.cpp sp-spiral.h	\
	sp-star.cpp sp-star.h	\
	sp-stop-fns.h	\
	sp-stop.h	\
	sp-string.cpp sp-string.h	\
	sp-symbol.cpp sp-symbol.h	\
	sp-switch.cpp sp-switch.h\
	sp-text.cpp sp-text.h	\
	sp-textpath.h	\
	sp-tref-reference.cpp sp-tref-reference.h \
	sp-tref.cpp sp-tref.h \
	sp-tspan.cpp sp-tspan.h	\
	sp-use-reference.cpp sp-use-reference.h	\
	sp-use.cpp sp-use.h	\
	spiral-context.cpp spiral-context.h	\
	splivarot.cpp splivarot.h	\
	star-context.cpp star-context.h	\
	streams-gzip.h streams-gzip.cpp	\
	streams-handles.h streams-handles.cpp	\
	streams-jar.h streams-jar.cpp	\
	streams-zlib.h streams-zlib.cpp	\
	style.cpp style.h	\
	sp-style-elem.cpp sp-style-elem.h	\
	svg-profile.h \
	svg-view.cpp svg-view.h	\
	svg-view-widget.cpp svg-view-widget.h	\
	text-chemistry.cpp text-chemistry.h	\
	text-context.cpp text-context.h	\
	text-editing.cpp text-editing.h	\
	text-tag-attributes.h	\
	tools-switch.cpp tools-switch.h\
	tweak-context.h tweak-context.cpp \
	uri-references.cpp uri-references.h	\
	vanishing-point.cpp vanishing-point.h	\
	verbs.cpp verbs.h	\
	version.cpp version.h	\
	zoom-context.cpp zoom-context.h

# Force libinkpost.a to be rebuilt if we add files to libinkpost_a_SOURCES.
libinkpost_a_DEPENDENCIES = Makefile_insert

# libinkpost.a: Any object file that needs to be near the end of the link line.
# gradient-chemistry.o is called by some things in display/.
libinkpost_a_SOURCES =	\
	color.cpp color.h	\
	decimal-round.h	\
	dir-util.cpp dir-util.h	\
	ege-adjustment-action.cpp	\
	ege-adjustment-action.h	\
	ege-output-action.cpp	\
	ege-output-action.h	\
	ege-select-one-action.cpp	\
	ege-select-one-action.h	\
	fill-or-stroke.h	\
	filter-chemistry.cpp filter-chemistry.h \
	filter-enums.cpp filter-enums.h \
	fixes.cpp \
	gc-alloc.h	\
	gc-anchored.h gc-anchored.cpp	\
	gc-core.h	\
	gc-finalized.h gc-finalized.cpp	\
	gc-managed.h	\
	gc-soft-ptr.h	\
	gc.cpp	\
	gradient-chemistry.cpp gradient-chemistry.h	\
	ink-action.cpp	\
	ink-action.h	\
	memeq.h	\
	round.h	\
	streq.h	\
	strneq.h	\
	composite-undo-stack-observer.h \
	composite-undo-stack-observer.cpp \
	undo-stack-observer.h \
	unit-constants.h	\
	uri.cpp uri.h

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		\
	widgets/libspwidgets.a	\
	display/libspdisplay.a	\
	helper/libspchelp.a	\
	libcroco/libcroco.a	\
	libnrtype/libnrtype.a	\
	libnr/libnr.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	\
	extension/internal/libwpg/libwpg.a	\
	extension/script/libscript.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)		\
	$(PERL_LIBS)		\
	$(PYTHON_LIBS)	\
	$(INKBOARD_LIBS) \
	$(IMAGEMAGICK_LIBS)

desktop.$(OBJEXT): helper/sp-marshal.h
document.$(OBJEXT): helper/sp-marshal.h inkscape_version.h
extension/internal/latex-pstricks.$(OBJEXT): inkscape_version.h
extension/internal/ps.$(OBJEXT): inkscape_version.h
inkscape.$(OBJEXT): helper/sp-marshal.h inkscape_version.h
knot.$(OBJEXT): helper/sp-marshal.h
main.$(OBJEXT): inkscape_version.h
selection.$(OBJEXT): helper/sp-marshal.h
sp-object.$(OBJEXT): helper/sp-marshal.h
sp-root.$(OBJEXT): inkscape_version.h
view.$(OBJEXT): helper/sp-marshal.h
help.$(OBJEXT): inkscape_version.h


# ################################################
#
#  B I N A R I E S
#
# ################################################


inkscape_SOURCES = main.cpp $(win32_sources)
inkscape_LDADD = $(all_libs)
inkscape_LDFLAGS = --export-dynamic $(kdeldflags)

inkview_SOURCES = inkview.cpp $(win32_sources)
inkview_LDADD = $(all_libs)

style_test_SOURCES = style-test.cpp
style_test_LDADD = $(all_libs)

inkscape_version.h: ../configure.ac
	echo '#define INKSCAPE_VERSION "$(VERSION)"' > inkscape_version.h

test_all_includes = \
		$(srcdir)/attributes-test.h	\
		$(srcdir)/color-profile-test.h	\
		$(srcdir)/MultiPrinter.h  \
		$(srcdir)/TRPIFormatter.h \
		$(srcdir)/PylogFormatter.h \
		$(srcdir)/dir-util-test.h	\
		$(srcdir)/extract-uri-test.h	\
		$(srcdir)/mod360-test.h	\
		$(srcdir)/round-test.h	\
		$(srcdir)/sp-gradient-test.h	\
		$(srcdir)/sp-style-elem-test.h	\
		$(srcdir)/style-test.h	\
		$(srcdir)/test-helpers.h  \
		$(srcdir)/verbs-test.h
