]> Pileus Git - ~andy/gtk/blob - Makefile.am
Make 3.0 parallel-installable to 2.x
[~andy/gtk] / Makefile.am
1 ## Makefile.am for GTK+
2 include $(top_srcdir)/Makefile.decl
3
4 SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
5 SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
6
7 AUTOMAKE_OPTIONS = 1.7
8 ACLOCAL_AMFLAGS = -I m4
9
10 EXTRA_DIST +=                   \
11         HACKING                 \
12         makecopyright           \
13         NEWS.pre-1-0            \
14         ChangeLog.pre-1-0       \
15         ChangeLog.pre-1-2       \
16         ChangeLog.pre-2-0       \
17         ChangeLog.pre-2-2       \
18         ChangeLog.pre-2-4       \
19         ChangeLog.pre-2-6       \
20         ChangeLog.pre-2-8       \
21         ChangeLog.pre-2-10      \
22         ChangeLog.pre-2-12      \
23         ChangeLog.pre-2-14      \
24         ChangeLog.pre-2-16      \
25         ChangeLog.gtk-async-file-chooser        \
26         ChangeLog.gtk-printing  \
27         README.commits  \
28         README.win32            \
29         config.h.win32          \
30         makefile.msc    \
31         gtk-zip.sh.in           \
32         sanitize-la.sh          \
33         po/README.translators   \
34         po/po2tbl.sed.in        \
35         examples/aspectframe/Makefile  \
36         examples/aspectframe/aspectframe.c  \
37         examples/Makefile  \
38         examples/README.1ST  \
39         examples/extract.awk  \
40         examples/extract.sh  \
41         examples/arrow/Makefile \
42         examples/arrow/arrow.c  \
43         examples/base/Makefile  \
44         examples/base/base.c  \
45         examples/buttonbox/Makefile \
46         examples/buttonbox/buttonbox.c  \
47         examples/buttons/Makefile  \
48         examples/buttons/buttons.c  \
49         examples/buttons/info.xpm  \
50         examples/calendar/Makefile  \
51         examples/calendar/calendar.c  \
52         examples/entry/Makefile  \
53         examples/entry/entry.c  \
54         examples/eventbox/Makefile  \
55         examples/eventbox/eventbox.c  \
56         examples/gtkdial/Makefile  \
57         examples/gtkdial/dial_test.c  \
58         examples/gtkdial/gtkdial.c  \
59         examples/gtkdial/gtkdial.h  \
60         examples/helloworld/Makefile  \
61         examples/helloworld/helloworld.c  \
62         examples/helloworld2/Makefile  \
63         examples/helloworld2/helloworld2.c  \
64         examples/label/Makefile \
65         examples/label/label.c  \
66         examples/menu/Makefile  \
67         examples/menu/menu.c  \
68         examples/notebook/Makefile  \
69         examples/notebook/notebook.c  \
70         examples/packbox/Makefile  \
71         examples/packbox/packbox.c  \
72         examples/paned/Makefile  \
73         examples/paned/paned.c  \
74         examples/pixmap/Makefile  \
75         examples/pixmap/pixmap.c  \
76         examples/progressbar/Makefile  \
77         examples/progressbar/progressbar.c  \
78         examples/radiobuttons/Makefile  \
79         examples/radiobuttons/radiobuttons.c  \
80         examples/rangewidgets/Makefile  \
81         examples/rangewidgets/rangewidgets.c  \
82         examples/rulers/Makefile  \
83         examples/rulers/rulers.c  \
84         examples/scribble-simple/Makefile  \
85         examples/scribble-simple/scribble-simple.c  \
86         examples/scribble-xinput/Makefile       \
87         examples/scribble-xinput/scribble-xinput.c      \
88         examples/scrolledwin/Makefile  \
89         examples/scrolledwin/scrolledwin.c  \
90         examples/selection/Makefile  \
91         examples/selection/gettargets.c  \
92         examples/selection/setselection.c  \
93         examples/statusbar/Makefile  \
94         examples/statusbar/statusbar.c  \
95         examples/table/Makefile  \
96         examples/table/table.c  \
97         examples/tictactoe/Makefile  \
98         examples/tictactoe/tictactoe.c  \
99         examples/tictactoe/tictactoe.h  \
100         examples/tictactoe/ttt_test.c  \
101         examples/wheelbarrow/Makefile  \
102         examples/wheelbarrow/wheelbarrow.c  \
103         examples/fixed/fixed.c  \
104         examples/fixed/Makefile  \
105         examples/frame/frame.c  \
106         examples/frame/Makefile  \
107         examples/spinbutton/spinbutton.c  \
108         examples/spinbutton/Makefile  \
109         examples/find-examples.sh
110 MAINTAINERCLEANFILES = \
111         $(srcdir)/INSTALL \
112         $(srcdir)/README \
113         $(srcdir)/aclocal.m4 \
114         $(srcdir)/autoscan.log \
115         $(srcdir)/compile \
116         $(srcdir)/config.guess \
117         $(srcdir)/config.h.in \
118         $(srcdir)/config.sub \
119         $(srcdir)/configure.scan \
120         $(srcdir)/depcomp \
121         $(srcdir)/install-sh \
122         $(srcdir)/ltmain.sh \
123         $(srcdir)/missing \
124         $(srcdir)/mkinstalldirs \
125         $(srcdir)/omf.make \
126         $(srcdir)/xmldocs.make \
127         $(srcdir)/gtk-doc.make \
128         $(srcdir)/ChangeLog \
129         `find "$(srcdir)" -type f -name Makefile.in -print`
130
131 GDKTARGET=@gdktarget@
132
133 ## Copy .pc files to target-specific names
134 gtk+-$(GDKTARGET)-3.0.pc: gtk+-3.0.pc
135         rm -f gtk+-$(GDKTARGET)-3.0.pc && \
136         cp gtk+-3.0.pc gtk+-$(GDKTARGET)-3.0.pc
137
138 gdk-$(GDKTARGET)-3.0.pc: gdk-3.0.pc
139         rm -f gdk-$(GDKTARGET)-3.0.pc && \
140         cp gdk-3.0.pc gdk-$(GDKTARGET)-3.0.pc
141
142 gtk+-$(GDKTARGET)-3.0-uninstalled.pc: gtk+-3.0-uninstalled.pc
143         rm -f gtk+-$(GDKTARGET)-3.0-uninstalled.pc && \
144         cp gtk+-3.0-uninstalled.pc gtk+-$(GDKTARGET)-3.0-uninstalled.pc
145
146 gdk-$(GDKTARGET)-3.0-uninstalled.pc: gdk-3.0-uninstalled.pc
147         rm -f gdk-$(GDKTARGET)-3.0-uninstalled.pc && \
148         cp gdk-3.0-uninstalled.pc gdk-$(GDKTARGET)-3.0-uninstalled.pc
149
150 pkgconfigdir = $(libdir)/pkgconfig
151 pkgconfig_DATA= gdk-pixbuf-3.0.pc gdk-$(GDKTARGET)-3.0.pc gtk+-$(GDKTARGET)-3.0.pc gail.pc
152
153 if OS_UNIX
154 pkgconfig_DATA += gtk+-unix-print-3.0.pc
155 endif
156
157 DISTCLEANFILES =                                \
158         gtk+-unix-print-3.0.pc                  \
159         gtk+-$(GDKTARGET)-3.0.pc                \
160         gdk-$(GDKTARGET)-3.0.pc                 \
161         gail.pc                                 \
162         gtk+-$(GDKTARGET)-3.0-uninstalled.pc    \
163         gdk-$(GDKTARGET)-3.0-uninstalled.pc     \
164         gail-uninstalled.pc                     \
165         config.lt
166
167 distclean-local:
168         if test "$(srcdir)" = "."; then :; else \
169                 rm -f ChangeLog; \
170         fi
171
172 ChangeLog:
173         @echo Creating $@
174         @if test -d "$(srcdir)/.git"; then \
175           (GIT_DIR=$(top_srcdir)/.git ./missing --run git log GTK_2_16_0^^.. --stat) | fmt --split-only > $@.tmp \
176           && mv -f $@.tmp $@ \
177           || ($(RM) $@.tmp; \
178               echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
179               (test -f $@ || echo git-log is required to generate this file >> $@)); \
180         else \
181           test -f $@ || \
182           (echo A git checkout and git-log is required to generate ChangeLog >&2 && \
183           echo A git checkout and git-log is required to generate this file >> $@); \
184         fi
185
186 ## copy the default target for this platform to gdk-3.0.pc and gtk+-3.0.pc
187 DEFAULT_GDKTARGET=x11
188 install-data-hook:
189         (cd $(DESTDIR)$(pkgconfigdir) && \
190          test -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc && \
191          test -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc && \
192          rm -f gdk-3.0.pc && cp -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc gdk-3.0.pc && \
193          rm -f gtk+-3.0.pc && cp -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc gtk+-3.0.pc) || \
194         (cd $(DESTDIR)$(pkgconfigdir) && \
195          rm -f gdk-3.0.pc && cp -f gdk-$(GDKTARGET)-3.0.pc gdk-3.0.pc && \
196          rm -f gtk+-3.0.pc && cp -f gtk+-$(GDKTARGET)-3.0.pc gtk+-3.0.pc)
197
198 uninstall-local:
199         rm -f $(DESTDIR)$(pkgconfigdir)/gdk-3.0.pc
200         rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-3.0.pc
201
202 dist-hook:
203         if test -f $(srcdir)/INSTALL.in && test -f $(srcdir)/README.in ; then \
204              CONFIG_FILES="INSTALL:$(srcdir)/INSTALL.in README:$(srcdir)/README.in" \
205              CONFIG_HEADERS= \
206              $(SHELL) config.status \
207              && cp INSTALL README $(distdir) ; \
208         fi
209
210 .PHONY: files release sanity snapshot ChangeLog
211
212 files:
213         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
214           echo $$p; \
215         done
216         @for subdir in $(SUBDIRS); do \
217           files=`cd $$subdir; $(MAKE) files | grep -v "make\[[1-9]\]"`; \
218           for file in $$files; do \
219             echo $$subdir/$$file; \
220           done; \
221         done
222
223 release:
224         rm -rf .deps */.deps
225         $(MAKE) distcheck
226
227 sanity:
228         ./sanity_check $(VERSION)
229
230
231 snapshot:
232         $(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
233
234 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man --disable-rebuilds --enable-introspection
235
236 GITIGNOREFILES = \
237         po-properties/Makefile.in.in \
238         po-properties/Makefile.in \
239         po-properties/Makefile \
240         po-properties/*.gmo \
241         po-properties/*.mo \
242         po-properties/POTFILES \
243         po-properties/stamp-it \
244         po-properties/.intltool-merge-cache
245
246 -include $(top_srcdir)/git.mk