1 # Gnumeric's Makefile.am
2 # Author: Miguel de Icaza (miguel@kernel.org)
4 AUTOMAKE_OPTIONS = subdir-objects
6 -include $(INTROSPECTION_MAKEFILE)
8 INTROSPECTION_SCANNER_ARGS = \
9 --add-include-path="${INTROSPECTION_GIRDIR}" \
10 -v --warn-all --accept-unprefixed \
11 --identifier-prefix="Gnm" --identifier-prefix="Gnumeric" \
13 -DGOFFICE_NAMESPACE_DISABLE
14 INTROSPECTION_COMPILER_ARGS = \
15 --includedir=$(srcdir) \
17 --includedir="${INTROSPECTION_GIRDIR}"
21 lib_LTLIBRARIES = libspreadsheet.la
25 noinst_PROGRAMS = sstest
28 bin_PROGRAMS += gnumeric
31 bin_PROGRAMS += ssconvert ssindex ssgrep ssdiff
38 # A hint is needed to build these headers first:
46 # These also need to occur in gnm.gresource.xml
48 dialogs/advanced-filter.ui \
49 dialogs/anova-one.ui \
50 dialogs/anova-two.ui \
51 dialogs/autofilter-expression.ui \
52 dialogs/autofilter-top10.ui \
53 dialogs/autoformat.ui \
55 dialogs/cell-comment.ui \
56 dialogs/cell-format-cond.ui \
57 dialogs/cell-format.ui \
58 dialogs/cell-sort.ui \
59 dialogs/chi-squared.ui \
60 dialogs/col-width.ui \
62 dialogs/consolidate.ui \
63 dialogs/correlation.ui \
64 dialogs/covariance.ui \
66 dialogs/data-slicer.ui \
67 dialogs/data-table.ui \
68 dialogs/define-name.ui \
69 dialogs/delete-cells.ui \
70 dialogs/descriptive-stats.ui \
71 dialogs/dialog-stf-export.ui \
72 dialogs/dialog-stf.ui \
73 dialogs/dialog-zoom.ui \
74 dialogs/doc-meta-data.ui \
75 dialogs/exp-smoothing.ui \
76 dialogs/fill-series.ui \
77 dialogs/formula-guru.ui \
78 dialogs/fourier-analysis.ui \
79 dialogs/frequency.ui \
80 dialogs/function-select.ui \
83 dialogs/hf-config.ui \
84 dialogs/hf-dt-format.ui \
85 dialogs/histogram.ui \
86 dialogs/hyperlink.ui \
87 dialogs/insert-cells.ui \
88 dialogs/kaplan-meier.ui \
89 dialogs/mean-tests.ui \
91 dialogs/moving-averages.ui \
92 dialogs/normality-tests.ui \
93 dialogs/one-mean-test.ui \
94 dialogs/paste-special.ui \
95 dialogs/plugin-manager.ui \
96 dialogs/preferences.ui \
97 dialogs/principal-components.ui \
100 dialogs/random-generation-cor.ui \
101 dialogs/random-generation.ui \
104 dialogs/regression.ui \
105 dialogs/row-height.ui \
106 dialogs/sampling.ui \
107 dialogs/scenario-add.ui \
108 dialogs/scenario-manager.ui \
109 dialogs/search-replace.ui \
111 dialogs/sheet-compare.ui \
112 dialogs/sheet-order.ui \
113 dialogs/sheet-rename.ui \
114 dialogs/sheet-resize.ui \
115 dialogs/sheetobject-size.ui \
117 dialogs/sign-test-two.ui \
118 dialogs/sign-test.ui \
119 dialogs/simulation.ui \
120 dialogs/so-button.ui \
121 dialogs/so-checkbox.ui \
122 dialogs/so-frame.ui \
124 dialogs/so-radiobutton.ui \
125 dialogs/so-scrollbar.ui \
127 dialogs/tabulate.ui \
128 dialogs/variance-tests.ui \
131 dialogs/wilcoxon-mann-whitney.ui \
132 dialogs/workbook-attr.ui
135 dialogs/dao-gui-utils.c \
136 dialogs/dialog-about.c \
137 dialogs/dialog-advanced-filter.c \
138 dialogs/dialog-analysis-tools.c \
139 dialogs/dialog-analysis-tool-chi-squared.c \
140 dialogs/dialog-analysis-tool-frequency.c \
141 dialogs/dialog-analysis-tool-kaplan-meier.c \
142 dialogs/dialog-analysis-tool-normality.c \
143 dialogs/dialog-analysis-tool-one-mean.c \
144 dialogs/dialog-analysis-tool-principal-components.c \
145 dialogs/dialog-analysis-tool-sign-test.c \
146 dialogs/dialog-analysis-tool-wilcoxon-mann-whitney.c \
147 dialogs/dialog-autofilter.c \
148 dialogs/dialog-autoformat.c \
149 dialogs/dialog-autosave.c \
150 dialogs/dialog-cell-comment.c \
151 dialogs/dialog-cell-format.c \
152 dialogs/dialog-cell-format-cond.c \
153 dialogs/dialog-cell-sort.c \
154 dialogs/dialog-col-width.c \
155 dialogs/dialog-col-row.c \
156 dialogs/dialog-consolidate.c \
157 dialogs/dialog-data-slicer.c \
158 dialogs/dialog-data-table.c \
159 dialogs/dialog-fill-series.c \
160 dialogs/dialog-function-select.c \
161 dialogs/dialog-formula-guru.c \
162 dialogs/dialog-goal-seek.c \
163 dialogs/dialog-goto-cell.c \
164 dialogs/dialog-hyperlink.c \
165 dialogs/dialog-insert-cells.c \
166 dialogs/dialog-define-names.c \
167 dialogs/dialog-delete-cells.c \
168 dialogs/dialog-merge.c \
169 dialogs/dialog-password.c \
170 dialogs/dialog-paste-special.c \
171 dialogs/dialog-plugin-manager.c \
172 dialogs/dialog-preferences.c \
173 dialogs/dialog-random-generator.c \
174 dialogs/dialog-random-generator-cor.c \
175 dialogs/dialog-recent.c \
176 dialogs/dialog-row-height.c \
177 dialogs/dialog-quit.c \
178 dialogs/dialog-scenarios.c \
179 dialogs/dialog-search.c \
180 dialogs/dialog-search-replace.c \
181 dialogs/dialog-sheet-compare.c \
182 dialogs/dialog-sheet-order.c \
183 dialogs/dialog-sheet-rename.c \
184 dialogs/dialog-sheet-resize.c \
185 dialogs/dialog-sheetobject-size.c \
186 dialogs/dialog-shuffle.c \
187 dialogs/dialog-simulation.c \
188 dialogs/dialog-so-list.c \
189 dialogs/dialog-so-styled.c \
190 dialogs/dialog-solver.c \
191 dialogs/dialog-stf.c \
192 dialogs/dialog-stf-main-page.c \
193 dialogs/dialog-stf-csv-page.c \
194 dialogs/dialog-stf-fixed-page.c \
195 dialogs/dialog-stf-format-page.c \
196 dialogs/dialog-stf-preview.c \
197 dialogs/dialog-stf-export.c \
198 dialogs/dialog-tabulate.c \
199 dialogs/dialog-doc-metadata.c \
200 dialogs/dialog-view.c \
201 dialogs/dialog-workbook-attr.c \
202 dialogs/dialog-zoom.c \
203 dialogs/dialog-printer-setup.c
207 dialogs/dao-gui-utils.h \
208 dialogs/dialog-stf.h \
209 dialogs/dialog-stf-preview.h \
210 dialogs/dialog-stf-export.h \
212 dialogs/tool-dialogs.h
216 widgets/gnm-fontbutton.c \
217 widgets/gnm-format-sel.c \
218 widgets/gnm-notebook.c \
219 widgets/gnm-radiobutton.c \
220 widgets/gnm-cell-combo-view.c \
221 widgets/gnm-filter-combo-view.c \
222 widgets/gnm-validation-combo-view.c \
223 widgets/gnm-sheet-sel.c \
224 widgets/gnm-sheet-slicer-combo-view.c \
225 widgets/gnm-so-anchor-mode-chooser.c \
226 widgets/gnm-workbook-sel.c \
227 widgets/gnm-cell-renderer-text.c \
228 widgets/gnm-cell-renderer-expr-entry.c \
229 widgets/gnm-cell-renderer-toggle.c \
230 widgets/gnm-dashed-canvas-line.c \
231 widgets/gnm-expr-entry.c \
232 widgets/gnm-text-view.c
236 widgets/gnm-fontbutton.h \
237 widgets/gnm-format-sel.h \
238 widgets/gnm-notebook.h \
239 widgets/gnm-radiobutton.h \
240 widgets/gnm-cell-combo-view.h \
241 widgets/gnm-cell-combo-view-impl.h \
242 widgets/gnm-filter-combo-view.h \
243 widgets/gnm-validation-combo-view.h \
244 widgets/gnm-sheet-sel.h \
245 widgets/gnm-sheet-slicer-combo-view.h \
246 widgets/gnm-so-anchor-mode-chooser.h \
247 widgets/gnm-workbook-sel.h \
248 widgets/gnm-cell-renderer-text.h \
249 widgets/gnm-cell-renderer-expr-entry.h \
250 widgets/gnm-cell-renderer-toggle.h \
251 widgets/gnm-dashed-canvas-line.h \
252 widgets/gnm-expr-entry.h \
253 widgets/gnm-text-view.h
256 tools/analysis-anova.c \
257 tools/analysis-auto-expression.c \
258 tools/analysis-chi-squared.c \
259 tools/analysis-exp-smoothing.c \
260 tools/analysis-frequency.c \
261 tools/analysis-histogram.c \
262 tools/analysis-kaplan-meier.c \
263 tools/analysis-normality.c \
264 tools/analysis-one-mean-test.c \
265 tools/analysis-principal-components.c \
266 tools/analysis-sign-test.c \
267 tools/analysis-signed-rank-test.c \
268 tools/analysis-tools.c \
269 tools/analysis-wilcoxon-mann-whitney.c \
270 tools/auto-correct.c \
272 tools/data-shuffling.c \
273 tools/fill-series.c \
277 tools/random-generator-cor.c \
278 tools/random-generator.c \
284 tools/analysis-anova.h \
285 tools/analysis-auto-expression.h \
286 tools/analysis-chi-squared.h \
287 tools/analysis-exp-smoothing.h \
288 tools/analysis-frequency.h \
289 tools/analysis-histogram.h \
290 tools/analysis-kaplan-meier.h \
291 tools/analysis-normality.h \
292 tools/analysis-one-mean-test.h \
293 tools/analysis-principal-components.h \
294 tools/analysis-sign-test.h \
295 tools/analysis-signed-rank-test.h \
296 tools/analysis-tools.h \
297 tools/analysis-wilcoxon-mann-whitney.h \
298 tools/auto-correct.h \
300 tools/data-shuffling.h \
301 tools/fill-series.h \
305 tools/random-generator-cor.h \
306 tools/random-generator.h \
312 noinst_HEADERS = dead-kittens.h compilation.h gnm-i18n.h \
315 # Another hint, see bugs #172211 and #172212:
316 non-intermediate: gnm-marshalers.c gnmresources.c
318 resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(top_srcdir) --generate-dependencies $(srcdir)/gnm.gresource.xml)
320 gnmresources.h: gnm.gresource.xml
321 $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< \
322 --target=$@ --sourcedir=$(top_srcdir) --c-name _gnm --generate-header --manual-register
323 gnmresources.c: gnm.gresource.xml $(resource_files) Makefile
324 $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< \
325 --target=$@ --sourcedir=$(top_srcdir) --c-name _gnm --generate-source --manual-register
328 CLEANFILES = $(BUILT_SOURCES) \
331 libspreadsheet_la_CPPFLAGS = $(AM_CPPFLAGS) -DGNUMERIC_INTERNAL
332 libspreadsheet_la_LDFLAGS = -release $(VERSION)
333 libspreadsheet_la_LIBADD = \
337 libspreadsheet_la_SOURCES = \
342 go-data-cache-source.c \
343 go-data-cache-source.h \
344 go-data-cache-impl.h \
347 go-data-cache-field-impl.h \
348 go-data-cache-field.h \
349 go-data-cache-field.c \
350 go-data-slicer-impl.h \
353 go-data-slicer-field-impl.h \
354 go-data-slicer-field.h \
355 go-data-slicer-field.c \
357 gnm-data-cache-source.h \
358 gnm-data-cache-source.c \
361 gnm-sheet-slicer-combo.h \
362 gnm-sheet-slicer-combo.c \
377 command-context-stderr.c \
393 gnm-commands-slicer.c \
406 gnumeric-simple-canvas.c \
428 preview-grid-impl.h \
433 rangefunc-strings.c \
445 sheet-control-gui.c \
450 sheet-object-cell-comment.c \
451 sheet-object-component.c \
452 sheet-object-graph.c \
453 sheet-object-image.c \
454 sheet-object-widget.c \
475 workbook-cmd-format.c \
485 libspreadsheet_la_SOURCES += $(widgets_sources)
487 EXTRA_DIST += $(widgets_sources)
490 nodist_libspreadsheet_la_SOURCES = gnmresources.c gnmresources.h
492 # When we switch to subversion fix this to nest as
493 # libspreadsheet-ver/spreadsheet/header
494 # doing it now would require massive cvs surgery.
495 libspreadsheet_includedir = $(includedir)/libspreadsheet-@GNUMERIC_API_VER@/spreadsheet
496 libspreadsheet_include_HEADERS = \
506 command-context-stderr.h \
524 gnm-commands-slicer.h \
525 gnm-data-cache-source.h \
539 gnumeric-simple-canvas.h \
541 go-data-cache-field.h \
542 go-data-cache-source.h \
544 go-data-slicer-field.h \
572 rangefunc-strings.h \
585 sheet-control-gui-priv.h \
586 sheet-control-gui.h \
587 sheet-control-priv.h \
590 sheet-filter-combo.h \
593 sheet-object-cell-comment.h \
594 sheet-object-component.h \
595 sheet-object-graph.h \
596 sheet-object-image.h \
597 sheet-object-impl.h \
598 sheet-object-widget-impl.h \
599 sheet-object-widget.h \
621 workbook-cmd-format.h \
622 workbook-control-priv.h \
641 gnumeric_LDFLAGS = -export-dynamic
643 ssconvert_LDADD = $(gnumeric_LDADD)
644 ssconvert_LDFLAGS = -export-dynamic
645 ssconvert_SOURCES = \
647 ssindex_LDADD = $(gnumeric_LDADD)
648 ssindex_LDFLAGS = -export-dynamic
651 ssgrep_LDADD = $(gnumeric_LDADD)
652 ssgrep_LDFLAGS = -export-dynamic
655 sstest_LDADD = $(gnumeric_LDADD)
656 sstest_LDFLAGS = -export-dynamic
659 ssdiff_LDADD = $(gnumeric_LDADD)
660 ssdiff_LDFLAGS = -export-dynamic
665 gnumeric_LDADD += gnumeric_rc.o
666 gnumeric_LDFLAGS += -mwindows -Wl,--stack,0x4000000
667 ssconvert_LDFLAGS += -mconsole -Wl,--stack,0x4000000
668 ssindex_LDFLAGS += -mconsole
669 ssgrep_LDFLAGS += -mconsole
671 libspreadsheet_la_DEPENDENCIES = libspreadsheet.def
672 libspreadsheet_la_LDFLAGS += -no-undefined -export-symbols libspreadsheet.def
676 libspreadsheet.def: local.def
677 echo EXPORTS > $@ && \
680 local.def: stamp-local.def
683 stamp-local.def: $(libspreadsheet_include_HEADERS) Makefile $(top_srcdir)/tools/dumpdef.pl
684 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/gnm-expr-entry.h'; \
686 for hdr in $$hdrs; do \
687 if test -f $(srcdir)/$$hdr; then \
688 hdrs_list="$$hdrs_list $(srcdir)/$$hdr"; \
690 hdrs_list="$$hdrs_list $$hdr"; \
693 cat $(top_builddir)/gnumeric-config.h $$hdrs_list | \
694 sed -e 's/^#[ \t]*include[ \t]\+.*$$//g' | \
695 $(CPP) $(AM_CPPFLAGS) "-DGNM_VAR_DECL=__declspec(dllexport)" -P - > xgen-localdef.1 && \
696 perl $(top_srcdir)/tools/dumpdef.pl \
697 xgen-localdef.1 > xgen-localdef.2 \
698 && (cmp -s xgen-localdef.2 local.def || \
699 cp xgen-localdef.2 local.def) \
700 && rm -f xgen-localdef.1 xgen-localdef.2 \
701 && echo timestamp > $@
706 # Rules for the marshalers code:
707 GENMARSHAL_COMMAND = $(GLIB_GENMARSHAL) --prefix=gnm_
710 $(GENMARSHAL_COMMAND) --header $< >$@
713 (echo '/* This file has been automatically generated. Do not edit. */' && \
714 echo '#include <$*.h>' && \
715 $(GENMARSHAL_COMMAND) --body $< ) >$@
717 # Depends on this Makefile, because it uses make variables.
718 gnumeric-paths.h: Makefile
721 echo '/* This file has been automatically generated. Do not edit. */'; \
723 echo '#ifndef GNUMERIC_PATHS_H'; \
724 echo '#define GNUMERIC_PATHS_H'; \
726 echo '#define GNUMERIC_PREFIX "$(prefix)"'; \
727 echo '#define GNUMERIC_SYSCONFDIR "$(sysconfdir)"'; \
728 echo '#define GNUMERIC_DATADIR "$(gnumeric_datadir)"'; \
729 echo '#define GNUMERIC_LIBDIR "$(gnumeric_libdir)"'; \
730 echo '#define GNUMERIC_ICONDIR "$(gnumeric_icondir)"'; \
731 echo '#define GNUMERIC_LOCALEDIR "$(gnumeric_localedir)"'; \
732 echo '#define GNUMERIC_EXTERNPLUGINDIR "$(gnumeric_externplugindir)"'; \
734 echo '#endif /* GNUMERIC_PATHS_H */'; \
737 update-gnumeric-conf:
738 make -C ${top_srcdir}/schemas
739 rm -f gnumeric-conf.c.tmp
740 @PERL@ -pe 'if (/AUTOMATICALLY GENERATED CODE BELOW/) { print; print "\n"; last; }' <gnumeric-conf.c >gnumeric-conf.c.tmp
741 @PERL@ ${top_srcdir}/tools/handle-conf-options --cfile ${top_srcdir}/schemas/org.gnome.gnumeric*.gschema.xml.in >>gnumeric-conf.c.tmp
742 if cmp gnumeric-conf.c gnumeric-conf.c.tmp; then \
743 rm gnumeric-conf.c.tmp; \
745 mv gnumeric-conf.c.tmp gnumeric-conf.c; \
747 rm -f gnumeric-conf.h.tmp
748 @PERL@ -pe 'if (/AUTOMATICALLY GENERATED CODE BELOW/) { print; print "\n"; last; }' <gnumeric-conf.h >gnumeric-conf.h.tmp
749 @PERL@ ${top_srcdir}/tools/handle-conf-options --hfile ${top_srcdir}/schemas/org.gnome.gnumeric*.gschema.xml.in >>gnumeric-conf.h.tmp
750 echo '' >>gnumeric-conf.h.tmp
751 @PERL@ -ne '$$p=1 if (/AUTOMATICALLY GENERATED CODE ABOVE/); print if $$p;' <gnumeric-conf.h >>gnumeric-conf.h.tmp
752 if cmp gnumeric-conf.h gnumeric-conf.h.tmp; then \
753 rm gnumeric-conf.h.tmp; \
755 mv gnumeric-conf.h.tmp gnumeric-conf.h; \
759 gnumeric_rc.o: gnumeric.rc ../gnumeric-config.h
760 $(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 $@
764 cd $(DESTDIR)$(bindir) && \
765 mv -f gnumeric$(EXEEXT) gnumeric-$(VERSION)$(EXEEXT) && \
766 $(LN_S) gnumeric-$(VERSION)$(EXEEXT) gnumeric$(EXEEXT)
770 -cd $(DESTDIR)$(bindir) && \
771 rm -f gnumeric-$(VERSION)$(EXEEXT)
773 # include conditional files to ensure everything gets distributed no matter
777 pixmaps/line_pattern_dash_dot.png \
778 pixmaps/line_pattern_dash_dot_dot.png \
779 pixmaps/line_pattern_dashed.png \
780 pixmaps/line_pattern_dotted.png \
781 pixmaps/line_pattern_double.png \
782 pixmaps/line_pattern_hair.png \
783 pixmaps/line_pattern_medium.png \
784 pixmaps/line_pattern_medium_dash.png \
785 pixmaps/line_pattern_medium_dash_dot.png \
786 pixmaps/line_pattern_medium_dash_dot_dot.png \
787 pixmaps/line_pattern_slant.png \
788 pixmaps/line_pattern_thick.png \
789 pixmaps/line_pattern_thin.png \
790 pixmaps/right-down.png \
791 pixmaps/down-right.png \
792 pixmaps/gnumeric_splash_1.4.png \
793 pixmaps/unknown_image.png \
794 pixmaps/sheet_move_marker.png \
796 gnm-marshalers.list \
799 GNOME_Gnumeric-gtk.xml \
802 if HAVE_INTROSPECTION
804 INTROSPECTION_GIRS += Gnm-@GNUMERIC_API_VER@.gir
806 Gnm-@GNUMERIC_API_VER@.gir: $(INTROSPECTION_SCANNER) libspreadsheet.la Makefile
807 Gnm_@GNUMERIC_API_VER_@_gir_INCLUDES = GObject-2.0 Gio-2.0 libxml2-2.0 \
808 Gsf-1 GOffice-@GOFFICE_API_VER@
809 Gnm_@GNUMERIC_API_VER_@_gir_CFLAGS = $(AM_CPPFLAGS)
810 Gnm_@GNUMERIC_API_VER_@_gir_LIBS = libspreadsheet.la
811 Gnm_@GNUMERIC_API_VER_@_gir_FILES = \
812 $(libspreadsheet_la_SOURCES) \
813 $(libspreadsheet_include_HEADERS)
817 gir_DATA = $(INTROSPECTION_GIRS)
819 typelibsdir = $(TYPELIBDIR)
820 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
822 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
824 endif # HAVE_INTROSPECTION