]> Pileus Git - ~andy/gtk/blob - Makefile.am
Add git.mk to generate .gitignore files
[~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
6
7 # require automake 1.4
8 AUTOMAKE_OPTIONS = 1.7
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/clist/Makefile  \
53         examples/clist/clist.c  \
54         examples/entry/Makefile  \
55         examples/entry/entry.c  \
56         examples/eventbox/Makefile  \
57         examples/eventbox/eventbox.c  \
58         examples/filesel/Makefile  \
59         examples/filesel/filesel.c  \
60         examples/gtkdial/Makefile  \
61         examples/gtkdial/dial_test.c  \
62         examples/gtkdial/gtkdial.c  \
63         examples/gtkdial/gtkdial.h  \
64         examples/helloworld/Makefile  \
65         examples/helloworld/helloworld.c  \
66         examples/helloworld2/Makefile  \
67         examples/helloworld2/helloworld2.c  \
68         examples/label/Makefile \
69         examples/label/label.c  \
70         examples/list/Makefile  \
71         examples/list/list.c  \
72         examples/menu/Makefile  \
73         examples/menu/menu.c  \
74         examples/menu/itemfactory.c  \
75         examples/notebook/Makefile  \
76         examples/notebook/notebook.c  \
77         examples/packbox/Makefile  \
78         examples/packbox/packbox.c  \
79         examples/paned/Makefile  \
80         examples/paned/paned.c  \
81         examples/pixmap/Makefile  \
82         examples/pixmap/pixmap.c  \
83         examples/progressbar/Makefile  \
84         examples/progressbar/progressbar.c  \
85         examples/radiobuttons/Makefile  \
86         examples/radiobuttons/radiobuttons.c  \
87         examples/rangewidgets/Makefile  \
88         examples/rangewidgets/rangewidgets.c  \
89         examples/rulers/Makefile  \
90         examples/rulers/rulers.c  \
91         examples/scribble-simple/Makefile  \
92         examples/scribble-simple/scribble-simple.c  \
93         examples/scribble-xinput/Makefile       \
94         examples/scribble-xinput/scribble-xinput.c      \
95         examples/scrolledwin/Makefile  \
96         examples/scrolledwin/scrolledwin.c  \
97         examples/selection/Makefile  \
98         examples/selection/gettargets.c  \
99         examples/selection/setselection.c  \
100         examples/statusbar/Makefile  \
101         examples/statusbar/statusbar.c  \
102         examples/table/Makefile  \
103         examples/table/table.c  \
104         examples/text/Makefile  \
105         examples/text/text.c  \
106         examples/tictactoe/Makefile  \
107         examples/tictactoe/tictactoe.c  \
108         examples/tictactoe/tictactoe.h  \
109         examples/tictactoe/ttt_test.c  \
110         examples/tree/Makefile  \
111         examples/tree/tree.c  \
112         examples/wheelbarrow/Makefile  \
113         examples/wheelbarrow/wheelbarrow.c  \
114         examples/fixed/fixed.c  \
115         examples/fixed/Makefile  \
116         examples/frame/frame.c  \
117         examples/frame/Makefile  \
118         examples/spinbutton/spinbutton.c  \
119         examples/spinbutton/Makefile  \
120         examples/find-examples.sh
121 MAINTAINERCLEANFILES = \
122         $(srcdir)/INSTALL \
123         $(srcdir)/README \
124         $(srcdir)/aclocal.m4 \
125         $(srcdir)/autoscan.log \
126         $(srcdir)/compile \
127         $(srcdir)/config.guess \
128         $(srcdir)/config.h.in \
129         $(srcdir)/config.sub \
130         $(srcdir)/configure.scan \
131         $(srcdir)/depcomp \
132         $(srcdir)/install-sh \
133         $(srcdir)/ltmain.sh \
134         $(srcdir)/missing \
135         $(srcdir)/mkinstalldirs \
136         $(srcdir)/omf.make \
137         $(srcdir)/xmldocs.make \
138         $(srcdir)/gtk-doc.make \
139         $(srcdir)/ChangeLog \
140         `find "$(srcdir)" -type f -name Makefile.in -print`
141
142 GDKTARGET=@gdktarget@
143
144 ## Copy .pc files to target-specific names
145 gtk+-$(GDKTARGET)-2.0.pc: gtk+-2.0.pc
146         rm -f gtk+-$(GDKTARGET)-2.0.pc && \
147         cp gtk+-2.0.pc gtk+-$(GDKTARGET)-2.0.pc
148
149 gdk-$(GDKTARGET)-2.0.pc: gdk-2.0.pc
150         rm -f gdk-$(GDKTARGET)-2.0.pc && \
151         cp gdk-2.0.pc gdk-$(GDKTARGET)-2.0.pc
152
153 gtk+-$(GDKTARGET)-2.0-uninstalled.pc: gtk+-2.0-uninstalled.pc
154         rm -f gtk+-$(GDKTARGET)-2.0-uninstalled.pc && \
155         cp gtk+-2.0-uninstalled.pc gtk+-$(GDKTARGET)-2.0-uninstalled.pc
156
157 gdk-$(GDKTARGET)-2.0-uninstalled.pc: gdk-2.0-uninstalled.pc
158         rm -f gdk-$(GDKTARGET)-2.0-uninstalled.pc && \
159         cp gdk-2.0-uninstalled.pc gdk-$(GDKTARGET)-2.0-uninstalled.pc
160
161 pkgconfigdir = $(libdir)/pkgconfig
162 pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc gail.pc
163
164 if OS_UNIX
165 pkgconfig_DATA += gtk+-unix-print-2.0.pc
166 endif
167
168 DISTCLEANFILES =                                \
169         gtk+-unix-print-2.0.pc                  \
170         gtk+-$(GDKTARGET)-2.0.pc                \
171         gdk-$(GDKTARGET)-2.0.pc                 \
172         gail.pc                                 \
173         gtk+-$(GDKTARGET)-2.0-uninstalled.pc    \
174         gdk-$(GDKTARGET)-2.0-uninstalled.pc     \
175         gail-uninstalled.pc                     \
176         config.lt
177
178 distclean-local:
179         if test $(srdcir) = .; then :; else \
180                 rm -f ChangeLog; \
181         fi
182
183 ChangeLog:
184         @echo Creating $@
185         @if test -d "$(srcdir)/.git"; then \
186           (GIT_DIR=$(top_srcdir)/.git ./missing --run git log GTK_2_16_0^^.. --stat) | fmt --split-only > $@.tmp \
187           && mv -f $@.tmp $@ \
188           || ($(RM) $@.tmp; \
189               echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
190               (test -f $@ || echo git-log is required to generate this file >> $@)); \
191         else \
192           test -f $@ || \
193           (echo A git checkout and git-log is required to generate ChangeLog >&2 && \
194           echo A git checkout and git-log is required to generate this file >> $@); \
195         fi
196
197 ## copy the default target for this platform to gdk-2.0.pc and gtk+-2.0.pc
198 DEFAULT_GDKTARGET=x11
199 install-data-hook:
200         (cd $(DESTDIR)$(pkgconfigdir) && \
201          test -f gdk-$(DEFAULT_GDKTARGET)-2.0.pc && \
202          test -f gtk+-$(DEFAULT_GDKTARGET)-2.0.pc && \
203          rm -f gdk-2.0.pc && cp -f gdk-$(DEFAULT_GDKTARGET)-2.0.pc gdk-2.0.pc && \
204          rm -f gtk+-2.0.pc && cp -f gtk+-$(DEFAULT_GDKTARGET)-2.0.pc gtk+-2.0.pc) || \
205         (cd $(DESTDIR)$(pkgconfigdir) && \
206          rm -f gdk-2.0.pc && cp -f gdk-$(GDKTARGET)-2.0.pc gdk-2.0.pc && \
207          rm -f gtk+-2.0.pc && cp -f gtk+-$(GDKTARGET)-2.0.pc gtk+-2.0.pc)
208
209 uninstall-local:
210         rm -f $(DESTDIR)$(pkgconfigdir)/gdk-2.0.pc
211         rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-2.0.pc
212
213 dist-hook:
214         if test -f $(srcdir)/INSTALL.in && test -f $(srcdir)/README.in ; then \
215              CONFIG_FILES="INSTALL:$(srcdir)/INSTALL.in README:$(srcdir)/README.in" \
216              CONFIG_HEADERS= \
217              $(SHELL) config.status \
218              && cp INSTALL README $(distdir) ; \
219         fi
220
221 .PHONY: files release sanity snapshot ChangeLog
222
223 files:
224         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
225           echo $$p; \
226         done
227         @for subdir in $(SUBDIRS); do \
228           files=`cd $$subdir; $(MAKE) files | grep -v "make\[[1-9]\]"`; \
229           for file in $$files; do \
230             echo $$subdir/$$file; \
231           done; \
232         done
233
234 release:
235         rm -rf .deps */.deps
236         $(MAKE) distcheck
237
238 sanity:
239         ./sanity_check $(VERSION)
240
241
242 snapshot:
243         $(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
244
245 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man --disable-rebuilds
246
247 GITIGNOREFILES = \
248         po-properties/Makefile.in.in \
249         po-properties/Makefile.in \
250         po-properties/Makefile \
251         po-properties/*.gmo \
252         po-properties/*.mo \
253         po-properties/POTFILES \
254         po-properties/stamp-it \
255         po-properties/.intltool-merge-cache
256
257 -include $(top_srcdir)/git.mk