]> cygwin.com Git - cygwin-apps/setup.git/blob - Makefile.am
This is a general tidying up/modernization of the build infrastructure.
[cygwin-apps/setup.git] / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2 #
3 # $Id$
4 #
5 # Copyright (c) 2000, Red Hat, Inc.
6 # Copyright (c) 2002, Robert Collins
7 #
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
12 #
13 # A copy of the GNU General Public License can be found at
14 # http://www.gnu.org/
15 #
16 # Written by Christopher Faylor <cgf@redhat.com>
17 # and Robert Collins <rbtcollins@hotmail.com>
18 #
19 # Makefile for Cygwin installer
20
21 DIST_SUBDIRS = libgetopt++ tests
22 SUBDIRS = libgetopt++ tests
23
24 ## DISTCLEANFILES = include/stamp-h include/stamp-h[0-9]*
25
26 # We would like to use -Winline for C++ as well, but some STL code triggers
27 # this warning. (Bug verified present in gcc-3.3)
28 # -Wno-uninitialized added to deal with g++ 3.4.4's spurious STL warnings
29 # (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22207)
30 BASECXXFLAGS = -Wall -Wno-uninitialized -Wpointer-arith -Wcomments \
31 -Wcast-align -Wwrite-strings
32 AM_CXXFLAGS = -Werror $(BASECXXFLAGS)
33 AM_CFLAGS = $(AM_CXXFLAGS) -Wmissing-declarations -Winline \
34 -Wstrict-prototypes -Wmissing-prototypes
35 AM_YFLAGS = -d
36 AM_LFLAGS = -8
37 WINDRES := @WINDRES@
38 INCLUDES = -I$(srcdir)/libgetopt++/include
39
40 noinst_PROGRAMS = setup @INILINT@
41
42 EXTRA_PROGRAMS = inilint
43 ## noinst_PROGRAMS +=inilint
44
45 EXTRA_DIST = \
46 CHANGES \
47 CONTRIBUTORS \
48 COPYING \
49 bootstrap.sh \
50 check-na.bmp \
51 check-no.bmp \
52 check-yes.bmp \
53 choose-rtarrow.bmp \
54 choose-spin.bmp \
55 cygwin.ico \
56 doconfigure \
57 libmd5-rfc/README \
58 libmd5-rfc/md5main.c \
59 setup.exe.manifest \
60 tree-minus.bmp \
61 tree-plus.bmp
62
63 # iniparse.h is generated from iniparse.yy via bison -d, so it needs to be
64 # included here for proper tracking (but not iniparse.cc, since automake
65 # knows about that already)
66 BUILT_SOURCES = \
67 setup_version.c \
68 iniparse.h
69
70 if MINGWTARGET
71 inilint_extras = \
72 autoload.c \
73 mklink2.cc
74 else
75 inilint_extras =
76 endif
77
78 inilint_LDADD = \
79 libinilex.a libgetopt++/libgetopt++.la
80 inilint_SOURCES = \
81 filemanip.cc \
82 filemanip.h \
83 find.cc \
84 find.h \
85 FindVisitor.cc \
86 FindVisitor.h \
87 LogSingleton.cc \
88 LogSingleton.h \
89 IniDBBuilder.h \
90 inilintmain.cc \
91 iniparse.yy \
92 IniParseFeedback.cc \
93 IniParseFeedback.h \
94 io_stream.h \
95 io_stream.cc \
96 io_stream_file.h \
97 io_stream_file.cc \
98 IOStreamProvider.h \
99 mkdir.cc \
100 mkdir.h \
101 PackageSpecification.cc \
102 PackageSpecification.h \
103 PackageTrust.h \
104 csu_util/rfc1738.cc \
105 csu_util/rfc1738.h \
106 String++.cc \
107 String++.h \
108 $(inilint_extras)
109
110 # workaround to allow omitting -Werror on inilex.cc.
111 noinst_LIBRARIES = libinilex.a
112 libinilex_a_SOURCES = inilex.ll
113 libinilex_a_CXXFLAGS = $(BASECXXFLAGS)
114
115 setup_LDADD = \
116 libinilex.a libgetopt++/libgetopt++.la \
117 res.o \
118 /usr/lib/mingw/libbz2.a /usr/lib/mingw/libz.a \
119 -lcomctl32 -lole32 -lwsock32 -lnetapi32 -luuid
120 setup_LDFLAGS = -mwindows
121 setup_SOURCES = \
122 AntiVirus.cc \
123 AntiVirus.h \
124 archive.cc \
125 archive.h \
126 archive_tar.cc \
127 archive_tar.h \
128 archive_tar_file.cc \
129 autoload.c \
130 choose.cc \
131 choose.h \
132 compress.cc \
133 compress.h \
134 compress_bz.cc \
135 compress_bz.h \
136 compress_gz.cc \
137 compress_gz.h \
138 ConnectionSetting.cc \
139 ConnectionSetting.h \
140 ControlAdjuster.cc \
141 ControlAdjuster.h \
142 cygpackage.cc \
143 cygpackage.h \
144 desktop.cc \
145 desktop.h \
146 dialog.cc \
147 dialog.h \
148 diskfull.cc \
149 diskfull.h \
150 download.cc \
151 download.h \
152 Exception.cc \
153 Exception.h \
154 find.cc \
155 find.h \
156 FindVisitor.cc \
157 FindVisitor.h \
158 filemanip.cc \
159 filemanip.h \
160 fromcwd.cc \
161 Generic.h \
162 geturl.cc \
163 geturl.h \
164 ini.cc \
165 ini.h \
166 IniDBBuilder.h \
167 IniDBBuilderPackage.cc \
168 IniDBBuilderPackage.h \
169 iniparse.yy \
170 IniParseFeedback.cc \
171 IniParseFeedback.h \
172 IniParseFindVisitor.cc \
173 IniParseFindVisitor.h \
174 install.cc \
175 io_stream.cc \
176 io_stream.h \
177 io_stream_cygfile.cc \
178 io_stream_cygfile.h \
179 io_stream_file.cc \
180 io_stream_file.h \
181 io_stream_memory.cc \
182 io_stream_memory.h \
183 IOStreamProvider.h \
184 localdir.cc \
185 localdir.h \
186 LogFile.cc \
187 LogFile.h \
188 LogSingleton.cc \
189 LogSingleton.h \
190 main.cc \
191 mkdir.cc \
192 mkdir.h \
193 mklink2.cc \
194 mklink2.h \
195 mount.cc \
196 mount.h \
197 msg.cc \
198 msg.h \
199 net.cc \
200 net.h \
201 netio.cc \
202 netio.h \
203 nio-ie5.cc \
204 nio-ie5.h \
205 nio-file.cc \
206 nio-file.h \
207 nio-ftp.cc \
208 nio-ftp.h \
209 nio-http.cc \
210 nio-http.h \
211 package_db.cc \
212 package_db.h \
213 package_meta.cc \
214 package_meta.h \
215 package_source.cc \
216 package_source.h \
217 package_version.cc \
218 package_version.h \
219 PackageSpecification.cc \
220 PackageSpecification.h \
221 PackageTrust.h \
222 PickCategoryLine.cc \
223 PickCategoryLine.h \
224 PickLine.h \
225 PickPackageLine.cc \
226 PickPackageLine.h \
227 PickView.cc \
228 PickView.h \
229 postinstall.cc \
230 prereq.cc \
231 prereq.h \
232 proppage.cc \
233 proppage.h \
234 propsheet.cc \
235 propsheet.h \
236 RECTWrapper.h \
237 res.rc \
238 resource.h \
239 root.cc \
240 root.h \
241 ScanFindVisitor.cc \
242 ScanFindVisitor.h \
243 script.cc \
244 script.h \
245 setup_version.h \
246 setup_version.c \
247 simpsock.cc \
248 simpsock.h \
249 site.cc \
250 site.h \
251 source.cc \
252 source.h \
253 SourceSetting.cc \
254 SourceSetting.h \
255 splash.cc \
256 splash.h \
257 state.cc \
258 state.h \
259 String++.cc \
260 String++.h \
261 threebar.cc \
262 threebar.h \
263 UserSetting.cc \
264 UserSetting.h \
265 UserSettings.cc \
266 UserSettings.h \
267 win32.cc \
268 win32.h \
269 window.cc \
270 window.h \
271 csu_util/MD5Sum.cc \
272 csu_util/MD5Sum.h \
273 csu_util/rfc1738.cc \
274 csu_util/rfc1738.h \
275 csu_util/version_compare.cc \
276 csu_util/version_compare.h \
277 libmd5-rfc/md5.c \
278 libmd5-rfc/md5.h
279
280 setup_version.c : $(srcdir)/ChangeLog Makefile
281 V=`sed -ne 's/^\$$Revi[s]ion: *\([^ ]*\) *$$.*/\1/p' \
282 $(srcdir)/ChangeLog` ;\
283 (echo '#define VERSION_PREFIX "%%% setup-version"';\
284 echo 'static const char version_store[] = VERSION_PREFIX " '$$V'";';\
285 echo 'const char *setup_version = version_store + sizeof (VERSION_PREFIX);') > version.tmp;\
286 mv version.tmp setup_version.c
287
288 %.o: %.rc
289 $(WINDRES) --preprocessor "$(CC) -E -xc-header -DRC_INVOKED" --include-dir $(srcdir) -o $@ $<
290
291 # Make a distribution package and tarball
292 release: setup$(EXEEXT) dist-all $(srcdir)/ChangeLog Makefile
293 $(STRIP) setup.exe && \
294 upx --best setup.exe && \
295 V=`sed -ne 's/^\$$Revi[s]ion: *\([^ ]*\) *$$.*/\1/p' \
296 $(srcdir)/ChangeLog` ;\
297 mv setup.exe setup-$${V}.exe && \
298 mv setup-0.tar.bz2 setup-$${V}.tar.bz2 && \
299 tar cjf setup-$${V}-1-src.tar.bz2 setup-$${V}.tar.bz2
300
301 # Create a snapshot and upload it (requires write access)
302 snapshot: release
303 V=`sed -ne 's/^\$$Revi[s]ion: *\([^ ]*\) *$$.*/\1/p' \
304 $(srcdir)/ChangeLog` ;\
305 scp -C setup-$${V}.exe setup-$${V}.tar.bz2 $${cygwinsite}:setup-snapshots/
This page took 0.055326 seconds and 6 git commands to generate.