Code

Fix SVN revision reporting so that it doesn't relink on every make
[inkscape.git] / src / Makefile_insert
1 ## Makefile.am fragment, included by src/Makefile.am.
4 # ################################################
5 #
6 #  I N K S C A P E
7 #
8 # ################################################
10 # libinkpre.a: any object that's sharable between inkscape & inkview,
11 # and isn't needed by object files in subdirectories (i.e. libinkpre.a
12 # comes before subdirectory libraries on the link line).
13 #
14 # Excludes winmain.cpp (a gui wrapper around main): I'm guessing that
15 # it needs to be explicitly listed as a source of each graphical
16 # binary: it isn't (to my knowledge) called by main (whether directly
17 # or indirectly), so I don't think that putting it in a library will
18 # suffice to get it linked in.  Windows devel please confirm.  -- pjrm.
20 libinkpre_a_SOURCES =   \
21         algorithms/find-last-if.h       \
22         algorithms/longest-common-suffix.h      \
23         approx-equal.h remove-last.h    \
24         arc-context.cpp arc-context.h   \
25         attributes.cpp attributes.h     \
26         axis-manip.cpp axis-manip.h     \
27         bad-uri-exception.h     \
28         box3d.cpp box3d.h \
29         box3d-context.cpp box3d-context.h \
30         box3d-side.cpp box3d-side.h \
31         brokenimage.xpm \
32         color-rgba.h    \
33         color-profile.cpp color-profile.h       \
34         color-profile-fns.h     \
35         common-context.cpp common-context.h\
36         conditions.cpp conditions.h\
37         conn-avoid-ref.cpp conn-avoid-ref.h     \
38         connector-context.cpp connector-context.h       \
39         connection-pool.h \
40         console-output-undo-observer.h console-output-undo-observer.cpp \
41         context-fns.cpp context-fns.h \
42         desktop-affine.h        \
43         desktop-events.cpp desktop-events.h     \
44         desktop-handles.cpp desktop-handles.h   \
45         desktop-style.cpp desktop-style.h       \
46         desktop.cpp desktop.h   \
47         device-manager.cpp      \
48         device-manager.h        \
49         document-undo.cpp       \
50         document.cpp document.h document-private.h      \
51         document-subset.cpp document-subset.h   \
52         doxygen-main.cpp \
53         draw-anchor.cpp \
54         draw-anchor.h   \
55         draw-context.cpp draw-context.h \
56         dropper-context.cpp dropper-context.h   \
57         dyna-draw-context.cpp dyna-draw-context.h       \
58         enums.h \
59         eraser-context.cpp eraser-context.h     \
60         event-context.cpp event-context.h       \
61         event-log.cpp event-log.h event.h      \
62         extract-uri.cpp extract-uri.h   \
63         file.cpp file.h \
64         filter-chemistry.cpp filter-chemistry.h \
65         filter-enums.cpp filter-enums.h \
66         flood-context.cpp flood-context.h       \
67         forward.h       \
68         gradient-context.cpp gradient-context.h \
69         gradient-drag.cpp gradient-drag.h \
70         help.cpp help.h \
71         helper-fns.h \
72         icon-size.h \
73         id-clash.cpp id-clash.h \
74         ige-mac-menu.h ige-mac-menu.c \
75         inkscape.cpp inkscape.h inkscape-private.h      \
76         interface.cpp interface.h       \
77         isinf.h \
78         isnormal.h \
79         knot-enums.h    \
80         knot-holder-entity.h knot-holder-entity.cpp     \
81         knot.cpp knot.h \
82         knotholder.cpp knotholder.h     \
83         layer-fns.cpp layer-fns.h       \
84         layer-manager.cpp layer-manager.h       \
85         line-geometry.cpp line-geometry.h       \
86         lpe-tool-context.cpp lpe-tool-context.h \
87         macros.h        \
88         main-cmdlineact.cpp main-cmdlineact.h \
89         media.cpp media.h       \
90         message-context.cpp message-context.h \
91         message-stack.cpp message-stack.h \
92         message.h \
93         mod360.cpp mod360.h     \
94         modifier-fns.h  \
95         node-context.cpp node-context.h \
96         nodepath.cpp nodepath.h \
97         object-edit.cpp object-edit.h   \
98         object-hierarchy.cpp object-hierarchy.h \
99         ui/context-menu.cpp \
100         ui/context-menu.h       \
101         path-chemistry.cpp path-chemistry.h     \
102         path-prefix.h   \
103         pen-context.cpp \
104         pen-context.h   \
105         pencil-context.cpp      \
106         pencil-context.h        \
107         persp3d.cpp persp3d.h   \
108         persp3d-reference.cpp persp3d-reference.h       \
109         perspective-line.cpp perspective-line.h \
110         preferences.cpp preferences.h \
111         preferences-skeleton.h  \
112         menus-skeleton.h        \
113         prefix.cpp      \
114         prefix.h        \
115         print.cpp print.h       \
116         profile-manager.cpp     \
117         profile-manager.h       \
118         proj_pt.cpp proj_pt.h   \
119         rect-context.cpp rect-context.h \
120         require-config.h \
121         rubberband.cpp rubberband.h     \
122         satisfied-guide-cns.cpp satisfied-guide-cns.h   \
123         selcue.cpp selcue.h \
124         select-context.cpp select-context.h     \
125         selection-chemistry.cpp selection-chemistry.h   \
126         selection-describer.cpp selection-describer.h   \
127         selection.cpp selection.h       \
128         seltrans-handles.cpp seltrans-handles.h \
129         seltrans.cpp seltrans.h \
130         shape-editor.cpp shape-editor.h \
131         shortcuts.cpp shortcuts.h       \
132         snap.cpp snap.h \
133         snap-preferences.cpp snap-preferences.h \
134         snapped-curve.cpp snapped-curve.h \
135         snapped-line.cpp snapped-line.h \
136         snapped-point.cpp snapped-point.h \
137         snapper.cpp snapper.h \
138         syseq.h \
139         transf_mat_3x4.cpp transf_mat_3x4.h     \
140         line-snapper.cpp line-snapper.h \
141         guide-snapper.cpp guide-snapper.h \
142         object-snapper.cpp object-snapper.h \
143         sp-anchor.cpp sp-anchor.h       \
144         sp-clippath.cpp sp-clippath.h   \
145         sp-conn-end-pair.cpp sp-conn-end-pair.h \
146         sp-conn-end.cpp sp-conn-end.h   \
147         sp-cursor.cpp sp-cursor.h       \
148         sp-defs.cpp sp-defs.h   \
149         sp-desc.cpp sp-desc.h   \
150         sp-ellipse.cpp sp-ellipse.h     \
151         sp-filter-fns.h \
152         sp-filter-primitive.cpp \
153         sp-filter-primitive.h   \
154         sp-filter-reference.cpp \
155         sp-filter-reference.h   \
156         sp-filter-units.h       \
157         sp-filter.cpp sp-filter.h number-opt-number.h   \
158         sp-flowdiv.h sp-flowdiv.cpp \
159         sp-flowregion.h sp-flowregion.cpp \
160         sp-flowtext.h sp-flowtext.cpp \
161         sp-font.cpp sp-font.h \
162         sp-font-face.cpp sp-font-face.h \
163         sp-glyph.cpp sp-glyph.h \
164         sp-missing-glyph.cpp sp-missing-glyph.h \
165         sp-glyph-kerning.cpp sp-glyph-kerning.h \
166         sp-gaussian-blur.cpp sp-gaussian-blur.h \
167         sp-gaussian-blur-fns.h  \
168         sp-gradient-fns.h       \
169         sp-gradient-reference.cpp       \
170         sp-gradient-reference.h \
171         sp-gradient-spread.h    \
172         sp-gradient-units.h     \
173         sp-gradient-vector.h    \
174         sp-gradient.cpp sp-gradient.h   \
175         sp-guide-attachment.h   \
176         sp-guide-constraint.h   \
177         sp-guide.cpp sp-guide.h \
178         sp-image.cpp sp-image.h \
179         sp-item-group.cpp sp-item-group.h       \
180         sp-item-notify-moveto.cpp sp-item-notify-moveto.h       \
181         sp-item-rm-unsatisfied-cns.cpp sp-item-rm-unsatisfied-cns.h     \
182         sp-item-transform.cpp sp-item-transform.h       \
183         sp-item-update-cns.cpp sp-item-update-cns.h     \
184         sp-item.cpp sp-item.h   \
185         sp-line.cpp sp-line.h   \
186         sp-linear-gradient-fns.h        \
187         sp-linear-gradient.h    \
188         sp-lpe-item.cpp sp-lpe-item.h   \
189         sp-marker-loc.h \
190         marker.cpp marker.h     \
191         sp-mask.cpp sp-mask.h   \
192         sp-metadata.cpp sp-metadata.h   \
193         sp-metric.h     \
194         sp-metrics.cpp sp-metrics.h     \
195         sp-namedview.cpp sp-namedview.h \
196         sp-object-group.cpp sp-object-group.h   \
197         sp-object-repr.cpp sp-object-repr.h     \
198         sp-object.cpp sp-object.h       \
199         sp-offset.cpp sp-offset.h       \
200         sp-paint-server.cpp sp-paint-server.h   \
201         sp-path.cpp sp-path.h   \
202         sp-pattern.cpp sp-pattern.h     \
203         sp-polygon.cpp sp-polygon.h     \
204         sp-polyline.cpp sp-polyline.h   \
205         sp-radial-gradient-fns.h        \
206         sp-radial-gradient.h    \
207         sp-rect.cpp sp-rect.h   \
208         sp-root.cpp sp-root.h   \
209         sp-script.cpp sp-script.h       \
210         sp-shape.cpp sp-shape.h \
211         sp-spiral.cpp sp-spiral.h       \
212         sp-star.cpp sp-star.h   \
213         sp-stop-fns.h   \
214         sp-stop.h       \
215         sp-string.cpp sp-string.h       \
216         sp-symbol.cpp sp-symbol.h       \
217         sp-switch.cpp sp-switch.h\
218         sp-text.cpp sp-text.h   \
219         sp-textpath.h   \
220         sp-title.cpp sp-title.h \
221         sp-tref-reference.cpp sp-tref-reference.h \
222         sp-tref.cpp sp-tref.h \
223         sp-tspan.cpp sp-tspan.h \
224         sp-use-reference.cpp sp-use-reference.h \
225         sp-use.cpp sp-use.h     \
226         spiral-context.cpp spiral-context.h     \
227         splivarot.cpp splivarot.h       \
228         star-context.cpp star-context.h \
229         style.cpp style.h       \
230         sp-style-elem.cpp sp-style-elem.h       \
231         svg-profile.h \
232         svg-view.cpp svg-view.h \
233         svg-view-widget.cpp svg-view-widget.h   \
234         text-chemistry.cpp text-chemistry.h     \
235         text-context.cpp text-context.h \
236         text-editing.cpp text-editing.h \
237         text-tag-attributes.h   \
238         tools-switch.cpp tools-switch.h\
239         tweak-context.h tweak-context.cpp \
240         unicoderange.cpp unicoderange.h \
241         uri-references.cpp uri-references.h     \
242         vanishing-point.cpp vanishing-point.h   \
243         verbs.cpp verbs.h       \
244         version.cpp version.h   \
245         zoom-context.cpp zoom-context.h
247 # libinkpost.a: Any object file that needs to be near the end of the link line.
248 # gradient-chemistry.o is called by some things in display/.
249 libinkpost_a_SOURCES =  \
250         color.cpp color.h       \
251         decimal-round.h \
252         dir-util.cpp dir-util.h \
253         ege-adjustment-action.cpp       \
254         ege-adjustment-action.h \
255         ege-color-prof-tracker.cpp      \
256         ege-color-prof-tracker.h        \
257         ege-output-action.cpp   \
258         ege-output-action.h     \
259         ege-select-one-action.cpp       \
260         ege-select-one-action.h \
261         fill-or-stroke.h        \
262         filter-chemistry.cpp filter-chemistry.h \
263         filter-enums.cpp filter-enums.h \
264         fixes.cpp \
265         gc-alloc.h      \
266         gc-anchored.h gc-anchored.cpp   \
267         gc-core.h       \
268         gc-finalized.h gc-finalized.cpp \
269         gc-managed.h    \
270         gc-soft-ptr.h   \
271         gc-allocator.h  \
272         gc.cpp  \
273         gradient-chemistry.cpp gradient-chemistry.h     \
274         ink-action.cpp  \
275         ink-action.h    \
276         memeq.h \
277         round.h \
278         streq.h \
279         strneq.h        \
280         composite-undo-stack-observer.h \
281         composite-undo-stack-observer.cpp \
282         undo-stack-observer.h \
283         unit-constants.h        \
284         uri.cpp uri.h   \
285         helper/pixbuf-ops.cpp   \
286         helper/pixbuf-ops.h
288 # Additional dependencies
290 desktop.$(OBJEXT): helper/sp-marshal.h
291 document.$(OBJEXT): helper/sp-marshal.h
292 inkscape.$(OBJEXT): helper/sp-marshal.h
293 knot.$(OBJEXT): helper/sp-marshal.h
294 selection.$(OBJEXT): helper/sp-marshal.h
295 sp-object.$(OBJEXT): helper/sp-marshal.h
296 view.$(OBJEXT): helper/sp-marshal.h
299 # ################################################
301 #  B I N A R I E S
303 # ################################################
306 inkscape_SOURCES = main.cpp $(win32_sources)
307 inkscape_LDADD = $(all_libs)
308 inkscape_LDFLAGS = --export-dynamic $(kdeldflags)
310 inkview_SOURCES = inkview.cpp $(win32_sources)
311 inkview_LDADD = $(all_libs)
313 libinkversion_a_SOURCES = inkscape-version.cpp inkscape-version.h
315 if USE_SVN_VERSION
316 inkscape_version_deps = $(top_srcdir)/.svn/entries
317 endif
319 # If this is an SVN snapshot build, regenerate this file every time
320 # someone updates the SVN working directory.
321 inkscape-version.cpp: $(inkscape_version_deps)
322         VER_PREFIX="$(VERSION)"; \
323         if test -x "$(srcdir)/.svn" -a ! -z `which svn`; then \
324             VER_SVNREV=" r`svn info $(srcdir) | sed -n -e '/^Revision:/s/Revision: \(.*\)/\1/p'`"; \
325             if test ! -z "`svn status -q $(srcdir)`"; then \
326                  VER_CUSTOM=" custom"; \
327             fi; \
328         fi; \
329         VERSION="$$VER_PREFIX$$VER_SVNREV$$VER_CUSTOM"; \
330         echo "namespace Inkscape { " \
331              "char const *version_string = \"$$VERSION\"; " \
332              "}" > inkscape-version.new.cpp; \
333         if cmp -s inkscape-version.new.cpp inkscape-version.cpp; then \
334              rm inkscape-version.new.cpp; \
335         else \
336              mv inkscape-version.new.cpp inkscape-version.cpp; \
337         fi; \
338         echo $$VERSION
340 # ######################
341 # ### CxxTest stuff ####
342 # ######################
343 CXXTEST_TESTSUITES +=                   \
344         $(srcdir)/MultiPrinter.h        \
345         $(srcdir)/TRPIFormatter.h       \
346         $(srcdir)/PylogFormatter.h      \
347         $(srcdir)/attributes-test.h     \
348         $(srcdir)/color-profile-test.h  \
349         $(srcdir)/dir-util-test.h       \
350         $(srcdir)/extract-uri-test.h    \
351         $(srcdir)/mod360-test.h         \
352         $(srcdir)/round-test.h          \
353         $(srcdir)/preferences-test.h    \
354         $(srcdir)/sp-gradient-test.h    \
355         $(srcdir)/sp-style-elem-test.h  \
356         $(srcdir)/style-test.h          \
357         $(srcdir)/test-helpers.h        \
358         $(srcdir)/verbs-test.h