2 # Gnumeric's Makefile.am
3 # Author: Miguel de Icaza (miguel@kernel.org)
4 -include $(INTROSPECTION_MAKEFILE)
6 INTROSPECTION_SCANNER_ARGS = \
7 --add-include-path="${INTROSPECTION_GIRDIR}" \
8 -v --warn-all --accept-unprefixed \
9 --identifier-prefix="Gnm" --identifier-prefix="Gnumeric" \
11 -DGOFFICE_NAMESPACE_DISABLE
12 INTROSPECTION_COMPILER_ARGS = \
13 --includedir=$(srcdir) \
15 --includedir="${INTROSPECTION_GIRDIR}"
19 lib_LTLIBRARIES = libspreadsheet.la
23 noinst_PROGRAMS = sstest
25 noinst_HEADERS = dead-kittens.h compilation.h gnm-i18n.h
28 bin_PROGRAMS += gnumeric
31 bin_PROGRAMS += ssconvert ssindex ssgrep ssdiff
40 # A hint is needed to build these headers first:
48 # These also need to occur in gnm.gresource.xml
50 dialogs/advanced-filter.ui \
51 dialogs/anova-one.ui \
52 dialogs/anova-two.ui \
53 dialogs/autofilter-expression.ui \
54 dialogs/autofilter-top10.ui \
55 dialogs/autoformat.ui \
57 dialogs/cell-comment.ui \
58 dialogs/cell-format-cond.ui \
59 dialogs/cell-format.ui \
60 dialogs/cell-sort.ui \
61 dialogs/chi-squared.ui \
62 dialogs/col-width.ui \
64 dialogs/consolidate.ui \
65 dialogs/correlation.ui \
66 dialogs/covariance.ui \
68 dialogs/data-slicer.ui \
69 dialogs/data-table.ui \
70 dialogs/define-name.ui \
71 dialogs/delete-cells.ui \
72 dialogs/descriptive-stats.ui \
73 dialogs/dialog-stf-export.ui \
74 dialogs/dialog-stf.ui \
75 dialogs/dialog-zoom.ui \
76 dialogs/doc-meta-data.ui \
77 dialogs/exp-smoothing.ui \
78 dialogs/fill-series.ui \
79 dialogs/formula-guru.ui \
80 dialogs/fourier-analysis.ui \
81 dialogs/frequency.ui \
82 dialogs/function-select.ui \
85 dialogs/hf-config.ui \
86 dialogs/hf-dt-format.ui \
87 dialogs/histogram.ui \
88 dialogs/hyperlink.ui \
89 dialogs/insert-cells.ui \
90 dialogs/kaplan-meier.ui \
91 dialogs/mean-tests.ui \
93 dialogs/moving-averages.ui \
94 dialogs/normality-tests.ui \
95 dialogs/one-mean-test.ui \
96 dialogs/paste-special.ui \
97 dialogs/plugin-manager.ui \
98 dialogs/preferences.ui \
99 dialogs/principal-components.ui \
102 dialogs/random-generation-cor.ui \
103 dialogs/random-generation.ui \
106 dialogs/regression.ui \
107 dialogs/row-height.ui \
108 dialogs/sampling.ui \
109 dialogs/scenario-add.ui \
110 dialogs/scenario-manager.ui \
111 dialogs/search-replace.ui \
113 dialogs/sheet-compare.ui \
114 dialogs/sheet-order.ui \
115 dialogs/sheet-rename.ui \
116 dialogs/sheet-resize.ui \
117 dialogs/sheetobject-size.ui \
119 dialogs/sign-test-two.ui \
120 dialogs/sign-test.ui \
121 dialogs/simulation.ui \
122 dialogs/so-button.ui \
123 dialogs/so-checkbox.ui \
124 dialogs/so-frame.ui \
126 dialogs/so-radiobutton.ui \
127 dialogs/so-scrollbar.ui \
129 dialogs/tabulate.ui \
130 dialogs/variance-tests.ui \
133 dialogs/wilcoxon-mann-whitney.ui \
134 dialogs/workbook-attr.ui
137 dialogs/dao-gui-utils.c \
138 dialogs/dialog-about.c \
139 dialogs/dialog-advanced-filter.c \
140 dialogs/dialog-analysis-tools.c \
141 dialogs/dialog-analysis-tool-chi-squared.c \
142 dialogs/dialog-analysis-tool-frequency.c \
143 dialogs/dialog-analysis-tool-kaplan-meier.c \
144 dialogs/dialog-analysis-tool-normality.c \
145 dialogs/dialog-analysis-tool-one-mean.c \
146 dialogs/dialog-analysis-tool-principal-components.c \
147 dialogs/dialog-analysis-tool-sign-test.c \
148 dialogs/dialog-analysis-tool-wilcoxon-mann-whitney.c \
149 dialogs/dialog-autofilter.c \
150 dialogs/dialog-autoformat.c \
151 dialogs/dialog-autosave.c \
152 dialogs/dialog-cell-comment.c \
153 dialogs/dialog-cell-format.c \
154 dialogs/dialog-cell-format-cond.c \
155 dialogs/dialog-cell-sort.c \
156 dialogs/dialog-col-width.c \
157 dialogs/dialog-col-row.c \
158 dialogs/dialog-consolidate.c \
159 dialogs/dialog-data-slicer.c \
160 dialogs/dialog-data-table.c \
161 dialogs/dialog-fill-series.c \
162 dialogs/dialog-function-select.c \
163 dialogs/dialog-formula-guru.c \
164 dialogs/dialog-goal-seek.c \
165 dialogs/dialog-goto-cell.c \
166 dialogs/dialog-hyperlink.c \
167 dialogs/dialog-insert-cells.c \
168 dialogs/dialog-define-names.c \
169 dialogs/dialog-delete-cells.c \
170 dialogs/dialog-merge.c \
171 dialogs/dialog-password.c \
172 dialogs/dialog-paste-special.c \
173 dialogs/dialog-plugin-manager.c \
174 dialogs/dialog-preferences.c \
175 dialogs/dialog-random-generator.c \
176 dialogs/dialog-random-generator-cor.c \
177 dialogs/dialog-recent.c \
178 dialogs/dialog-row-height.c \
179 dialogs/dialog-quit.c \
180 dialogs/dialog-scenarios.c \
181 dialogs/dialog-search.c \
182 dialogs/dialog-search-replace.c \
183 dialogs/dialog-sheet-compare.c \
184 dialogs/dialog-sheet-order.c \
185 dialogs/dialog-sheet-rename.c \
186 dialogs/dialog-sheet-resize.c \
187 dialogs/dialog-sheetobject-size.c \
188 dialogs/dialog-shuffle.c \
189 dialogs/dialog-simulation.c \
190 dialogs/dialog-so-list.c \
191 dialogs/dialog-so-styled.c \
192 dialogs/dialog-solver.c \
193 dialogs/dialog-stf.c \
194 dialogs/dialog-stf-main-page.c \
195 dialogs/dialog-stf-csv-page.c \
196 dialogs/dialog-stf-fixed-page.c \
197 dialogs/dialog-stf-format-page.c \
198 dialogs/dialog-stf-preview.c \
199 dialogs/dialog-stf-export.c \
200 dialogs/dialog-tabulate.c \
201 dialogs/dialog-doc-metadata.c \
202 dialogs/dialog-view.c \
203 dialogs/dialog-workbook-attr.c \
204 dialogs/dialog-zoom.c \
205 dialogs/dialog-printer-setup.c
209 dialogs/dao-gui-utils.h \
210 dialogs/dialog-stf.h \
211 dialogs/dialog-stf-preview.h \
212 dialogs/dialog-stf-export.h \
214 dialogs/tool-dialogs.h
218 widgets/gnm-fontbutton.c \
219 widgets/gnm-format-sel.c \
220 widgets/gnm-notebook.c \
221 widgets/gnm-radiobutton.c \
222 widgets/gnm-cell-combo-view.c \
223 widgets/gnm-filter-combo-view.c \
224 widgets/gnm-validation-combo-view.c \
225 widgets/gnm-sheet-sel.c \
226 widgets/gnm-sheet-slicer-combo-view.c \
227 widgets/gnm-so-anchor-mode-chooser.c \
228 widgets/gnm-workbook-sel.c \
229 widgets/gnumeric-cell-renderer-text.c \
230 widgets/gnumeric-cell-renderer-expr-entry.c \
231 widgets/gnumeric-cell-renderer-toggle.c \
232 widgets/gnumeric-dashed-canvas-line.c \
233 widgets/gnumeric-expr-entry.c \
234 widgets/gnumeric-lazy-list.c \
235 widgets/gnumeric-text-view.c
239 widgets/gnm-fontbutton.h \
240 widgets/gnm-format-sel.h \
241 widgets/gnm-notebook.h \
242 widgets/gnm-radiobutton.h \
243 widgets/gnm-cell-combo-view.h \
244 widgets/gnm-cell-combo-view-impl.h \
245 widgets/gnm-filter-combo-view.h \
246 widgets/gnm-validation-combo-view.h \
247 widgets/gnm-sheet-sel.h \
248 widgets/gnm-sheet-slicer-combo-view.h \
249 widgets/gnm-so-anchor-mode-chooser.h \
250 widgets/gnm-workbook-sel.h \
251 widgets/gnumeric-cell-renderer-text.h \
252 widgets/gnumeric-cell-renderer-expr-entry.h \
253 widgets/gnumeric-cell-renderer-toggle.h \
254 widgets/gnumeric-dashed-canvas-line.h \
255 widgets/gnumeric-expr-entry.h \
256 widgets/gnumeric-lazy-list.h \
257 widgets/gnumeric-text-view.h
260 tools/analysis-anova.c \
261 tools/analysis-auto-expression.c \
262 tools/analysis-chi-squared.c \
263 tools/analysis-exp-smoothing.c \
264 tools/analysis-frequency.c \
265 tools/analysis-histogram.c \
266 tools/analysis-kaplan-meier.c \
267 tools/analysis-normality.c \
268 tools/analysis-one-mean-test.c \
269 tools/analysis-principal-components.c \
270 tools/analysis-sign-test.c \
271 tools/analysis-signed-rank-test.c \
272 tools/analysis-tools.c \
273 tools/analysis-wilcoxon-mann-whitney.c \
274 tools/auto-correct.c \
276 tools/data-shuffling.c \
277 tools/fill-series.c \
281 tools/random-generator-cor.c \
282 tools/random-generator.c \
288 tools/analysis-anova.h \
289 tools/analysis-auto-expression.h \
290 tools/analysis-chi-squared.h \
291 tools/analysis-exp-smoothing.h \
292 tools/analysis-frequency.h \
293 tools/analysis-histogram.h \
294 tools/analysis-kaplan-meier.h \
295 tools/analysis-normality.h \
296 tools/analysis-one-mean-test.h \
297 tools/analysis-principal-components.h \
298 tools/analysis-sign-test.h \
299 tools/analysis-signed-rank-test.h \
300 tools/analysis-tools.h \
301 tools/analysis-wilcoxon-mann-whitney.h \
302 tools/auto-correct.h \
304 tools/data-shuffling.h \
305 tools/fill-series.h \
309 tools/random-generator-cor.h \
310 tools/random-generator.h \
317 # Another hint, see bugs #172211 and #172212:
318 non-intermediate: gnm-marshalers.c gnmresources.c
320 resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(top_srcdir) --generate-dependencies $(srcdir)/gnm.gresource.xml)
322 gnmresources.h: gnm.gresource.xml
323 $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< \
324 --target=$@ --sourcedir=$(top_srcdir) --c-name _gnm --generate-header --manual-register
325 gnmresources.c: gnm.gresource.xml $(resource_files) Makefile
326 $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< \
327 --target=$@ --sourcedir=$(top_srcdir) --c-name _gnm --generate-source --manual-register
330 CLEANFILES = $(BUILT_SOURCES) \
333 libspreadsheet_la_CPPFLAGS = $(AM_CPPFLAGS) -DGNUMERIC_INTERNAL
334 libspreadsheet_la_LDFLAGS = -release $(VERSION)
335 libspreadsheet_la_LIBADD = \
339 libspreadsheet_la_SOURCES = \
344 go-data-cache-source.c \
345 go-data-cache-source.h \
346 go-data-cache-impl.h \
349 go-data-cache-field-impl.h \
350 go-data-cache-field.h \
351 go-data-cache-field.c \
352 go-data-slicer-impl.h \
355 go-data-slicer-field-impl.h \
356 go-data-slicer-field.h \
357 go-data-slicer-field.c \
359 gnm-data-cache-source.h \
360 gnm-data-cache-source.c \
363 gnm-sheet-slicer-combo.h \
364 gnm-sheet-slicer-combo.c \
379 command-context-stderr.c \
395 gnm-commands-slicer.c \
408 gnumeric-simple-canvas.c \
430 preview-grid-impl.h \
435 rangefunc-strings.c \
447 sheet-control-gui.c \
452 sheet-object-cell-comment.c \
453 sheet-object-component.c \
454 sheet-object-graph.c \
455 sheet-object-image.c \
456 sheet-object-widget.c \
477 workbook-cmd-format.c \
487 libspreadsheet_la_SOURCES += $(widgets_sources)
489 EXTRA_DIST += $(widgets_sources)
492 nodist_libspreadsheet_la_SOURCES = gnmresources.c gnmresources.h
494 # When we switch to subversion fix this to nest as
495 # libspreadsheet-ver/spreadsheet/header
496 # doing it now would require massive cvs surgery.
497 libspreadsheet_includedir = $(includedir)/libspreadsheet-@GNUMERIC_API_VER@/spreadsheet
498 libspreadsheet_include_HEADERS = \
508 command-context-stderr.h \
526 gnm-commands-slicer.h \
527 gnm-data-cache-source.h \
541 gnumeric-simple-canvas.h \
543 go-data-cache-field.h \
544 go-data-cache-source.h \
546 go-data-slicer-field.h \
574 rangefunc-strings.h \
587 sheet-control-gui-priv.h \
588 sheet-control-gui.h \
589 sheet-control-priv.h \
592 sheet-filter-combo.h \
595 sheet-object-cell-comment.h \
596 sheet-object-component.h \
597 sheet-object-graph.h \
598 sheet-object-image.h \
599 sheet-object-impl.h \
600 sheet-object-widget-impl.h \
601 sheet-object-widget.h \
623 workbook-cmd-format.h \
624 workbook-control-priv.h \
644 gnumeric_LDFLAGS = -export-dynamic
646 ssconvert_LDADD = $(gnumeric_LDADD)
647 ssconvert_LDFLAGS = -export-dynamic
648 ssconvert_SOURCES = \
650 ssindex_LDADD = $(gnumeric_LDADD)
651 ssindex_LDFLAGS = -export-dynamic
654 ssgrep_LDADD = $(gnumeric_LDADD)
655 ssgrep_LDFLAGS = -export-dynamic
658 sstest_LDADD = $(gnumeric_LDADD)
659 sstest_LDFLAGS = -export-dynamic
662 ssdiff_LDADD = $(gnumeric_LDADD)
663 ssdiff_LDFLAGS = -export-dynamic
668 gnumeric_LDADD += gnumeric_rc.o
669 gnumeric_LDFLAGS += -mwindows -Wl,--stack,0x4000000
670 ssconvert_LDFLAGS += -mconsole -Wl,--stack,0x4000000
671 ssindex_LDFLAGS += -mconsole
672 ssgrep_LDFLAGS += -mconsole
674 libspreadsheet_la_DEPENDENCIES = libspreadsheet.def
675 libspreadsheet_la_LDFLAGS += -no-undefined -export-symbols libspreadsheet.def
679 libspreadsheet.def: local.def
680 echo EXPORTS > $@ && \
683 local.def: stamp-local.def
686 stamp-local.def: $(libspreadsheet_include_HEADERS) Makefile $(top_srcdir)/tools/dumpdef.pl
687 hdrs='$(libspreadsheet_include_HEADERS) dialogs/dialogs.h dialogs/tool-dialogs.h tools/dao.h tools/goal-seek.h tools/analysis-tools.h tools/gnm-solver.h widgets/gnumeric-expr-entry.h'; \
689 for hdr in $$hdrs; do \
690 if test -f $(srcdir)/$$hdr; then \
691 hdrs_list="$$hdrs_list $(srcdir)/$$hdr"; \
693 hdrs_list="$$hdrs_list $$hdr"; \
696 cat $(top_builddir)/gnumeric-config.h $$hdrs_list | \
697 sed -e 's/^#[ \t]*include[ \t]\+.*$$//g' | \
698 $(CPP) $(AM_CPPFLAGS) "-DGNM_VAR_DECL=__declspec(dllexport)" -P - > xgen-localdef.1 && \
699 perl $(top_srcdir)/tools/dumpdef.pl \
700 xgen-localdef.1 > xgen-localdef.2 \
701 && (cmp -s xgen-localdef.2 local.def || \
702 cp xgen-localdef.2 local.def) \
703 && rm -f xgen-localdef.1 xgen-localdef.2 \
704 && echo timestamp > $@
709 # Rules for the marshalers code:
710 GENMARSHAL_COMMAND = $(GLIB_GENMARSHAL) --prefix=gnm_
713 $(GENMARSHAL_COMMAND) --header $< >$@
716 (echo '/* This file has been automatically generated. Do not edit. */' && \
717 echo '#include "$*.h"' && \
718 $(GENMARSHAL_COMMAND) --body $< ) >$@
720 # Depends on this Makefile, because it uses make variables.
721 gnumeric-paths.h: Makefile
724 echo '/* This file has been automatically generated. Do not edit. */'; \
726 echo '#ifndef GNUMERIC_PATHS_H'; \
727 echo '#define GNUMERIC_PATHS_H'; \
729 echo '#define GNUMERIC_PREFIX "$(prefix)"'; \
730 echo '#define GNUMERIC_SYSCONFDIR "$(sysconfdir)"'; \
731 echo '#define GNUMERIC_DATADIR "$(gnumeric_datadir)"'; \
732 echo '#define GNUMERIC_LIBDIR "$(gnumeric_libdir)"'; \
733 echo '#define GNUMERIC_ICONDIR "$(gnumeric_icondir)"'; \
734 echo '#define GNUMERIC_LOCALEDIR "$(gnumeric_localedir)"'; \
735 echo '#define GNUMERIC_EXTERNPLUGINDIR "$(gnumeric_externplugindir)"'; \
737 echo '#endif /* GNUMERIC_PATHS_H */'; \
740 update-gnumeric-conf:
741 make -C ${top_srcdir}/schemas
742 rm -f gnumeric-conf.c.tmp
743 @PERL@ -pe 'if (/AUTOMATICALLY GENERATED CODE BELOW/) { print; print "\n"; last; }' <gnumeric-conf.c >gnumeric-conf.c.tmp
744 @PERL@ ${top_srcdir}/tools/handle-conf-options --cfile ${top_srcdir}/schemas/org.gnome.gnumeric*.gschema.xml.in >>gnumeric-conf.c.tmp
745 if cmp gnumeric-conf.c gnumeric-conf.c.tmp; then \
746 rm gnumeric-conf.c.tmp; \
748 mv gnumeric-conf.c.tmp gnumeric-conf.c; \
750 rm -f gnumeric-conf.h.tmp
751 @PERL@ -pe 'if (/AUTOMATICALLY GENERATED CODE BELOW/) { print; print "\n"; last; }' <gnumeric-conf.h >gnumeric-conf.h.tmp
752 @PERL@ ${top_srcdir}/tools/handle-conf-options --hfile ${top_srcdir}/schemas/org.gnome.gnumeric*.gschema.xml.in >>gnumeric-conf.h.tmp
753 echo '' >>gnumeric-conf.h.tmp
754 @PERL@ -ne '$$p=1 if (/AUTOMATICALLY GENERATED CODE ABOVE/); print if $$p;' <gnumeric-conf.h >>gnumeric-conf.h.tmp
755 if cmp gnumeric-conf.h gnumeric-conf.h.tmp; then \
756 rm gnumeric-conf.h.tmp; \
758 mv gnumeric-conf.h.tmp gnumeric-conf.h; \
762 gnumeric_rc.o: gnumeric.rc ../gnumeric-config.h
763 $(WINDRES) -DVERSION=$(VERSION) -DVERSION_NUMBER=`echo $(VERSION).0.0.0 | sed 's/\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\).*/\1,\2,\3,\4/'` --include-dir $(srcdir) -i $< -o $@
767 cd $(DESTDIR)$(bindir) && \
768 mv -f gnumeric$(EXEEXT) gnumeric-$(VERSION)$(EXEEXT) && \
769 $(LN_S) gnumeric-$(VERSION)$(EXEEXT) gnumeric$(EXEEXT)
773 -cd $(DESTDIR)$(bindir) && \
774 rm -f gnumeric-$(VERSION)$(EXEEXT)
776 # include conditional files to ensure everything gets distributed no matter
780 pixmaps/line_pattern_dash_dot.png \
781 pixmaps/line_pattern_dash_dot_dot.png \
782 pixmaps/line_pattern_dashed.png \
783 pixmaps/line_pattern_dotted.png \
784 pixmaps/line_pattern_double.png \
785 pixmaps/line_pattern_hair.png \
786 pixmaps/line_pattern_medium.png \
787 pixmaps/line_pattern_medium_dash.png \
788 pixmaps/line_pattern_medium_dash_dot.png \
789 pixmaps/line_pattern_medium_dash_dot_dot.png \
790 pixmaps/line_pattern_slant.png \
791 pixmaps/line_pattern_thick.png \
792 pixmaps/line_pattern_thin.png \
793 pixmaps/right-down.png \
794 pixmaps/down-right.png \
795 pixmaps/gnumeric_splash_1.4.png \
796 pixmaps/unknown_image.png \
797 pixmaps/sheet_move_marker.png \
799 gnm-marshalers.list \
802 GNOME_Gnumeric-gtk.xml \
805 if HAVE_INTROSPECTION
807 INTROSPECTION_GIRS += Gnm-@GNUMERIC_API_VER@.gir
809 Gnm-@GNUMERIC_API_VER@.gir: $(INTROSPECTION_SCANNER) libspreadsheet.la Makefile
810 Gnm_@GNUMERIC_API_VER_@_gir_INCLUDES = GObject-2.0 Gio-2.0 libxml2-2.0 \
811 Gsf-1 GOffice-@GOFFICE_API_VER@
812 Gnm_@GNUMERIC_API_VER_@_gir_CFLAGS = $(AM_CPPFLAGS)
813 Gnm_@GNUMERIC_API_VER_@_gir_LIBS = libspreadsheet.la
814 Gnm_@GNUMERIC_API_VER_@_gir_FILES = \
815 $(libspreadsheet_la_SOURCES) \
816 $(libspreadsheet_include_HEADERS)
820 gir_DATA = $(INTROSPECTION_GIRS)
822 typelibsdir = $(TYPELIBDIR)
823 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
825 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
827 endif # HAVE_INTROSPECTION