configure.ac: Link PSPPIRE explicitly against gthread.
[pspp] / src / ui / gui / automake.mk
1 ## Process this file with automake to produce Makefile.in  -*- makefile -*-
2
3 include $(top_srcdir)/src/ui/gui/sheet/automake.mk
4
5 UI_FILES = \
6         src/ui/gui/aggregate.ui \
7         src/ui/gui/autorecode.ui \
8         src/ui/gui/binomial.ui \
9         src/ui/gui/compute.ui \
10         src/ui/gui/correlation.ui \
11         src/ui/gui/count.ui \
12         src/ui/gui/crosstabs.ui \
13         src/ui/gui/chi-square.ui \
14         src/ui/gui/descriptives.ui \
15         src/ui/gui/entry-dialog.ui \
16         src/ui/gui/examine.ui \
17         src/ui/gui/goto-case.ui \
18         src/ui/gui/factor.ui \
19         src/ui/gui/find.ui \
20         src/ui/gui/frequencies.ui \
21         src/ui/gui/k-means.ui \
22         src/ui/gui/k-related.ui \
23         src/ui/gui/ks-one-sample.ui \
24         src/ui/gui/means.ui \
25         src/ui/gui/oneway.ui \
26         src/ui/gui/paired-samples.ui \
27         src/ui/gui/psppire.ui \
28         src/ui/gui/rank.ui \
29         src/ui/gui/runs.ui \
30         src/ui/gui/sort.ui \
31         src/ui/gui/split-file.ui \
32         src/ui/gui/recode.ui \
33         src/ui/gui/regression.ui \
34         src/ui/gui/reliability.ui \
35         src/ui/gui/roc.ui \
36         src/ui/gui/select-cases.ui \
37         src/ui/gui/t-test.ui \
38         src/ui/gui/text-data-import.ui \
39         src/ui/gui/univariate.ui \
40         src/ui/gui/var-sheet-dialogs.ui \
41         src/ui/gui/variable-info.ui \
42         src/ui/gui/data-editor.ui \
43         src/ui/gui/output-viewer.ui \
44         src/ui/gui/syntax-editor.ui
45
46 EXTRA_DIST += \
47         src/ui/gui/OChangeLog \
48         src/ui/gui/marshaller-list \
49         src/ui/gui/gen-dot-desktop.sh
50
51
52 if HAVE_GUI
53 bin_PROGRAMS += src/ui/gui/psppire 
54
55 src_ui_gui_psppire_CFLAGS = $(GTK_CFLAGS) $(GTKSOURCEVIEW_CFLAGS) -Wall -DGDK_MULTIHEAD_SAFE=1
56
57
58 src_ui_gui_psppire_LDFLAGS = \
59         $(PSPPIRE_LDFLAGS) \
60         $(PG_LDFLAGS)
61
62
63 if RELOCATABLE_VIA_LD
64 src_ui_gui_psppire_LDFLAGS += `$(RELOCATABLE_LDFLAGS) $(bindir)`
65 else
66 src_ui_gui_psppire_LDFLAGS += -rpath $(pkglibdir)
67 endif
68
69
70 src_ui_gui_psppire_LDADD = \
71         src/ui/gui/sheet/libsheet.la \
72         lib/gtk-contrib/libgtksheet.a \
73         src/ui/libuicommon.la \
74         src/libpspp.la \
75         src/libpspp-core.la \
76         $(GTK_LIBS) \
77         $(GTHREAD_LIBS) \
78         $(GTKSOURCEVIEW_LIBS) \
79         $(CAIRO_LIBS) \
80         $(LIBINTL) \
81         $(GSL_LIBS)
82
83 src_ui_gui_psppiredir = $(pkgdatadir)
84
85
86 themedir = $(DESTDIR)$(datadir)/icons/hicolor
87 context = pspp
88
89
90 install-lang:
91         $(INSTALL_DATA) $(top_srcdir)/src/ui/gui/pspp.lang $(DESTDIR)$(pkgdatadir)
92
93 install-icons:
94         for size in 16x16 ; do \
95           $(MKDIR_P) $(themedir)/$$size/$(context) ; \
96           $(INSTALL_DATA) $(top_srcdir)/src/ui/gui/icons/$$size/* $(themedir)/$$size/$(context) ; \
97           $(MKDIR_P) $(themedir)/$$size/apps ; \
98           $(INSTALL_DATA) $(top_srcdir)/src/ui/gui/app-icons/$$size/pspp.png $(themedir)/$$size/apps ; \
99         done 
100         if test -z "$(DESTDIR)" ; then \
101                 gtk-update-icon-cache --ignore-theme-index $(themedir); \
102         fi
103
104 INSTALL_DATA_HOOKS += install-icons install-lang
105
106 uninstall-icons:
107         for size in 16x16 ; do \
108           rm -r -f $(themedir)/$$size/$(context); \
109           rm -f $(themedir)/$$size/apps/pspp.png; \
110         done 
111         gtk-update-icon-cache --ignore-theme-index $(themedir)
112
113 UNINSTALL_DATA_HOOKS += uninstall-icons
114
115 dist_src_ui_gui_psppire_DATA = \
116         $(UI_FILES) \
117         $(top_srcdir)/src/ui/gui/app-icons/16x16/pspp.png \
118         $(top_srcdir)/src/ui/gui/pspp.lang \
119         $(top_srcdir)/src/ui/gui/pspplogo.png \
120         $(top_srcdir)/src/ui/gui/icons/value-labels.png \
121         $(top_srcdir)/src/ui/gui/icons/goto-variable.png\
122         $(top_srcdir)/src/ui/gui/icons/insert-case.png \
123         $(top_srcdir)/src/ui/gui/icons/insert-variable.png \
124         $(top_srcdir)/src/ui/gui/icons/recent-dialogs.png \
125         $(top_srcdir)/src/ui/gui/icons/split-file.png \
126         $(top_srcdir)/src/ui/gui/icons/select-cases.png \
127         $(top_srcdir)/src/ui/gui/icons/weight-cases.png \
128         $(top_srcdir)/src/ui/gui/icons/16x16/nominal.png  \
129         $(top_srcdir)/src/ui/gui/icons/16x16/ordinal.png \
130         $(top_srcdir)/src/ui/gui/icons/16x16/scale.png \
131         $(top_srcdir)/src/ui/gui/icons/16x16/string.png \
132         $(top_srcdir)/src/ui/gui/icons/16x16/date-scale.png \
133         $(top_srcdir)/src/ui/gui/icons/splash.png \
134         $(top_srcdir)/src/ui/gui/psppire.gtkrc
135
136 src_ui_gui_psppire_SOURCES = \
137         src/ui/gui/pspp-sheet-private.h \
138         src/ui/gui/pspp-sheet-selection.c \
139         src/ui/gui/pspp-sheet-selection.h \
140         src/ui/gui/pspp-sheet-view-column.c \
141         src/ui/gui/pspp-sheet-view-column.h \
142         src/ui/gui/pspp-sheet-view.c \
143         src/ui/gui/pspp-sheet-view.h \
144         src/ui/gui/pspp-widget-facade.c \
145         src/ui/gui/pspp-widget-facade.h \
146         src/ui/gui/psppire-button-editable.c \
147         src/ui/gui/psppire-button-editable.h \
148         src/ui/gui/psppire-cell-renderer-button.c \
149         src/ui/gui/psppire-cell-renderer-button.h \
150         src/ui/gui/psppire-dialog.c \
151         src/ui/gui/psppire-keypad.c \
152         src/ui/gui/psppire-selector.c \
153         src/ui/gui/psppire-buttonbox.c \
154         src/ui/gui/psppire-hbuttonbox.c \
155         src/ui/gui/psppire-vbuttonbox.c \
156         src/ui/gui/psppire-scanf.c \
157         src/ui/gui/psppire-scanf.h \
158         src/ui/gui/psppire-acr.c \
159         src/ui/gui/autorecode-dialog.c \
160         src/ui/gui/autorecode-dialog.h \
161         src/ui/gui/aggregate-dialog.c \
162         src/ui/gui/aggregate-dialog.h \
163         src/ui/gui/binomial-dialog.c \
164         src/ui/gui/binomial-dialog.h \
165         src/ui/gui/builder-wrapper.c \
166         src/ui/gui/builder-wrapper.h \
167         src/ui/gui/checkbox-treeview.c \
168         src/ui/gui/checkbox-treeview.h \
169         src/ui/gui/comments-dialog.c \
170         src/ui/gui/comments-dialog.h \
171         src/ui/gui/compute-dialog.c \
172         src/ui/gui/compute-dialog.h \
173         src/ui/gui/chi-square-dialog.c \
174         src/ui/gui/chi-square-dialog.h \
175         src/ui/gui/count-dialog.c \
176         src/ui/gui/count-dialog.h \
177         src/ui/gui/crosstabs-dialog.c \
178         src/ui/gui/crosstabs-dialog.h \
179         src/ui/gui/customentry.c \
180         src/ui/gui/customentry.h \
181         src/ui/gui/dialog-common.c \
182         src/ui/gui/dialog-common.h \
183         src/ui/gui/dict-display.h \
184         src/ui/gui/dict-display.c \
185         src/ui/gui/entry-dialog.c \
186         src/ui/gui/entry-dialog.h \
187         src/ui/gui/executor.c \
188         src/ui/gui/executor.h \
189         src/ui/gui/find-dialog.c \
190         src/ui/gui/find-dialog.h \
191         src/ui/gui/frequencies-dialog.c \
192         src/ui/gui/frequencies-dialog.h \
193         src/ui/gui/goto-case-dialog.c \
194         src/ui/gui/goto-case-dialog.h \
195         src/ui/gui/helper.c \
196         src/ui/gui/help-menu.c \
197         src/ui/gui/help-menu.h \
198         src/ui/gui/helper.h \
199         src/ui/gui/k-related-dialog.c \
200         src/ui/gui/k-related-dialog.h \
201         src/ui/gui/ks-one-sample-dialog.c \
202         src/ui/gui/ks-one-sample-dialog.h \
203         src/ui/gui/main.c \
204         src/ui/gui/missing-val-dialog.c \
205         src/ui/gui/missing-val-dialog.h \
206         src/ui/gui/oneway-anova-dialog.c \
207         src/ui/gui/oneway-anova-dialog.h \
208         src/ui/gui/paired-dialog.c \
209         src/ui/gui/paired-dialog.h \
210         src/ui/gui/psppire.c \
211         src/ui/gui/psppire.h \
212         src/ui/gui/psppire-acr.h \
213         src/ui/gui/psppire-buttonbox.h \
214         src/ui/gui/psppire-conf.c \
215         src/ui/gui/psppire-conf.h \
216         src/ui/gui/psppire-data-editor.c \
217         src/ui/gui/psppire-data-editor.h \
218         src/ui/gui/psppire-data-store.c \
219         src/ui/gui/psppire-data-store.h \
220         src/ui/gui/psppire-data-window.c \
221         src/ui/gui/psppire-data-window.h \
222         src/ui/gui/psppire-dialog.h \
223         src/ui/gui/psppire-dialog-action.c \
224         src/ui/gui/psppire-dialog-action.h \
225         src/ui/gui/psppire-dialog-action-correlation.c \
226         src/ui/gui/psppire-dialog-action-correlation.h \
227         src/ui/gui/psppire-dialog-action-descriptives.c \
228         src/ui/gui/psppire-dialog-action-descriptives.h \
229         src/ui/gui/psppire-dialog-action-examine.c \
230         src/ui/gui/psppire-dialog-action-examine.h \
231         src/ui/gui/psppire-dialog-action-factor.c \
232         src/ui/gui/psppire-dialog-action-factor.h \
233         src/ui/gui/psppire-dialog-action-kmeans.c \
234         src/ui/gui/psppire-dialog-action-kmeans.h \
235         src/ui/gui/psppire-dialog-action-means.c \
236         src/ui/gui/psppire-dialog-action-means.h \
237         src/ui/gui/psppire-dialog-action-rank.c \
238         src/ui/gui/psppire-dialog-action-rank.h \
239         src/ui/gui/psppire-dialog-action-reliability.c \
240         src/ui/gui/psppire-dialog-action-reliability.h \
241         src/ui/gui/psppire-dialog-action-sort.c \
242         src/ui/gui/psppire-dialog-action-sort.h \
243         src/ui/gui/psppire-dialog-action-var-info.c \
244         src/ui/gui/psppire-dialog-action-var-info.h \
245         src/ui/gui/psppire-dialog-action-roc.c \
246         src/ui/gui/psppire-dialog-action-roc.h \
247         src/ui/gui/psppire-dict.c \
248         src/ui/gui/psppire-dict.h \
249         src/ui/gui/psppire-dictview.c \
250         src/ui/gui/psppire-dictview.h \
251         src/ui/gui/psppire-empty-list-store.c \
252         src/ui/gui/psppire-empty-list-store.h \
253         src/ui/gui/psppire-encoding-selector.c \
254         src/ui/gui/psppire-encoding-selector.h \
255         src/ui/gui/psppire-format.c \
256         src/ui/gui/psppire-format.h \
257         src/ui/gui/psppire-hbuttonbox.h \
258         src/ui/gui/psppire-keypad.h \
259         src/ui/gui/psppire-lex-reader.c \
260         src/ui/gui/psppire-lex-reader.h \
261         src/ui/gui/psppire-means-layer.c \
262         src/ui/gui/psppire-means-layer.h \
263         src/ui/gui/psppire-output-window.c \
264         src/ui/gui/psppire-output-window.h \
265         src/ui/gui/psppire-var-view.c \
266         src/ui/gui/psppire-var-view.h \
267         src/ui/gui/psppire-selector.h \
268         src/ui/gui/psppire-select-dest.c \
269         src/ui/gui/psppire-select-dest.h \
270         src/ui/gui/psppire-syntax-window.c \
271         src/ui/gui/psppire-syntax-window.h \
272         src/ui/gui/psppire-val-chooser.c \
273         src/ui/gui/psppire-val-chooser.h \
274         src/ui/gui/psppire-value-entry.c \
275         src/ui/gui/psppire-value-entry.h \
276         src/ui/gui/psppire-var-ptr.c \
277         src/ui/gui/psppire-var-ptr.h \
278         src/ui/gui/psppire-var-sheet.c \
279         src/ui/gui/psppire-var-sheet.h \
280         src/ui/gui/psppire-var-store.c \
281         src/ui/gui/psppire-var-store.h \
282         src/ui/gui/psppire-vbuttonbox.h \
283         src/ui/gui/psppire-window.c \
284         src/ui/gui/psppire-window.h \
285         src/ui/gui/psppire-window-base.c \
286         src/ui/gui/psppire-window-base.h \
287         src/ui/gui/psppire-window-register.c \
288         src/ui/gui/psppire-window-register.h \
289         src/ui/gui/recode-dialog.c \
290         src/ui/gui/recode-dialog.h \
291         src/ui/gui/regression-dialog.c \
292         src/ui/gui/regression-dialog.h \
293         src/ui/gui/runs-dialog.c \
294         src/ui/gui/runs-dialog.h \
295         src/ui/gui/select-cases-dialog.c \
296         src/ui/gui/select-cases-dialog.h \
297         src/ui/gui/split-file-dialog.c \
298         src/ui/gui/split-file-dialog.h \
299         src/ui/gui/text-data-import-dialog.c \
300         src/ui/gui/text-data-import-dialog.h \
301         src/ui/gui/transpose-dialog.c \
302         src/ui/gui/transpose-dialog.h \
303         src/ui/gui/t-test-independent-samples-dialog.c \
304         src/ui/gui/t-test-independent-samples-dialog.h \
305         src/ui/gui/t-test-one-sample.c \
306         src/ui/gui/t-test-one-sample.h \
307         src/ui/gui/t-test-options.c \
308         src/ui/gui/t-test-options.h \
309         src/ui/gui/t-test-paired-samples.c \
310         src/ui/gui/t-test-paired-samples.h \
311         src/ui/gui/npar-two-sample-related.c \
312         src/ui/gui/npar-two-sample-related.h \
313         src/ui/gui/univariate-dialog.c \
314         src/ui/gui/univariate-dialog.h \
315         src/ui/gui/val-labs-dialog.c \
316         src/ui/gui/val-labs-dialog.h \
317         src/ui/gui/var-display.c \
318         src/ui/gui/var-display.h \
319         src/ui/gui/var-type-dialog.c \
320         src/ui/gui/var-type-dialog.h \
321         src/ui/gui/weight-cases-dialog.c \
322         src/ui/gui/weight-cases-dialog.h \
323         src/ui/gui/widget-io.c \
324         src/ui/gui/widget-io.h \
325         src/ui/gui/widgets.c \
326         src/ui/gui/widgets.h
327
328 nodist_src_ui_gui_psppire_SOURCES = \
329         src/ui/gui/psppire-marshal.c \
330         src/ui/gui/psppire-marshal.h
331
332 yelp-check:
333         @if ! yelp --version > /dev/null 2>&1 ; then \
334                 echo    ; \
335                 echo '    The Yelp document viewer does not seem to be installed on the system.' ; \
336                 echo '    If Yelp is not available at run time, then the PSPPIRE online reference' ; \
337                 echo '    manual will not be available.' ; \
338                 echo '    Yelp is available from the GNOME project.  ftp://ftp.gnome.org/pub/gnome/sources/yelp' ; \
339                 echo ; \
340         fi
341
342 PHONY += yelp-check
343
344 AM_CPPFLAGS += -Isrc
345
346 src/ui/gui/pspp.desktop: src/ui/gui/gen-dot-desktop.sh $(POFILES)
347         POFILES="$(POFILES)" top_builddir="$(top_builddir)" $(SHELL) $< > $@
348
349 CLEANFILES+=src/ui/gui/pspp.desktop
350
351 src/ui/gui/psppire-marshal.c: src/ui/gui/marshaller-list
352         echo '#include <config.h>' > $@
353         $(GLIB_GENMARSHAL) --body --prefix=psppire_marshal $? >> $@
354
355 src/ui/gui/psppire-marshal.h: src/ui/gui/marshaller-list
356         $(GLIB_GENMARSHAL) --header --prefix=psppire_marshal $? > $@
357
358 desktopdir = $(datadir)/applications
359 desktop_DATA = src/ui/gui/pspp.desktop
360
361 BUILT_SOURCES += src/ui/gui/psppire-marshal.c src/ui/gui/psppire-marshal.h
362 CLEANFILES += src/ui/gui/psppire-marshal.c src/ui/gui/psppire-marshal.h \
363         $(nodist_src_ui_gui_psppire_DATA)
364 endif HAVE_GUI
365
366 #ensure the installcheck passes even if there is no X server available
367 installcheck-local:
368         DISPLAY=/invalid/port $(MAKE) $(AM_MAKEFLAGS) installcheck-binPROGRAMS
369
370 # <gtk/gtk.h> wrapper
371 src_ui_gui_psppire_CPPFLAGS = $(AM_CPPFLAGS) -Isrc/ui/gui/include
372 BUILT_SOURCES += src/ui/gui/include/gtk/gtk.h
373 src/ui/gui/include/gtk/gtk.h: src/ui/gui/include/gtk/gtk.in.h
374         @$(MKDIR_P) src/ui/gui/include/gtk
375         $(AM_V_GEN)rm -f $@-t $@ && \
376         { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
377           sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
378               -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
379               -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
380               -e 's|@''NEXT_GTK_GTK_H''@|$(NEXT_GTK_GTK_H)|g' \
381               < $(srcdir)/src/ui/gui/include/gtk/gtk.in.h; \
382         } > $@-t && \
383         mv $@-t $@
384 CLEANFILES += src/ui/gui/include/gtk/gtk.h
385 EXTRA_DIST += src/ui/gui/include/gtk/gtk.in.h