]> cygwin.com Git - cygwin-apps/setup.git/blob - Makefile.am
37341b99dfcb75c5066c2feb43a37ea0c16d1efc
[cygwin-apps/setup.git] / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2 #
3 # Copyright (c) 2000, Red Hat, Inc.
4 # Copyright (c) 2002, Robert Collins
5 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # A copy of the GNU General Public License can be found at
12 # http://www.gnu.org/
13 #
14 # Makefile for Cygwin installer
15
16 SUBDIRS := @subdirs@ tests
17
18 ## DISTCLEANFILES = include/stamp-h include/stamp-h[0-9]*
19
20 # We would like to use -Winline for C++ as well, but some STL code triggers
21 # this warning. (Bug verified present in gcc-3.3)
22 BASECXXFLAGS = -Werror -Wall -Wpointer-arith -Wcomments \
23 -Wcast-align -Wwrite-strings -fno-builtin-sscanf \
24 -Wno-attributes
25 AM_CXXFLAGS = $(BASECXXFLAGS) -std=gnu++11 ${$(*F)_CXXFLAGS}
26 AM_CFLAGS = $(BASECXXFLAGS) -Wmissing-declarations -Winline \
27 -Wstrict-prototypes -Wmissing-prototypes
28 AM_YFLAGS = -d
29 AM_LFLAGS = -8
30 WINDRES = @WINDRES@
31 AM_CPPFLAGS = -DLZMA_API_STATIC -I$(srcdir)/libgetopt++/include
32
33 inilex_CXXFLAGS:=-Wno-sign-compare
34
35 noinst_PROGRAMS = @SETUP@$(EXEEXT) @INILINT@
36
37 EXTRA_PROGRAMS = inilint
38 ## noinst_PROGRAMS +=inilint
39
40 EXTRA_DIST = \
41 CHANGES \
42 CONTRIBUTORS \
43 COPYING \
44 bootstrap.sh \
45 check-na.bmp \
46 check-no.bmp \
47 check-yes.bmp \
48 choose-rtarrow.bmp \
49 choose-spin.bmp \
50 cygwin.ico \
51 cygwin-setup.ico \
52 cygwin-terminal.ico \
53 setup.exe.manifest \
54 setup64.exe.manifest \
55 tree-minus.bmp \
56 tree-plus.bmp
57
58 # iniparse.hh is generated from iniparse.yy via bison -d, so it needs to be
59 # included here for proper tracking (but not iniparse.cc, since automake
60 # knows about that already)
61 BUILT_SOURCES = \
62 setup_version.c \
63 iniparse.hh
64
65 CLEANFILES = setup_version.c
66
67 inilint_LDADD = \
68 libgetopt++/libgetopt++.la
69 inilint_SOURCES = \
70 filemanip.cc \
71 filemanip.h \
72 find.cc \
73 find.h \
74 FindVisitor.cc \
75 FindVisitor.h \
76 LogSingleton.cc \
77 LogSingleton.h \
78 IniDBBuilder.h \
79 inilintmain.cc \
80 inilex.ll \
81 iniparse.yy \
82 IniParseFeedback.cc \
83 IniParseFeedback.h \
84 io_stream.h \
85 io_stream.cc \
86 io_stream_file.h \
87 io_stream_file.cc \
88 IOStreamProvider.h \
89 mkdir.cc \
90 mkdir.h \
91 mklink2.cc \
92 PackageSpecification.cc \
93 PackageSpecification.h \
94 PackageTrust.h \
95 csu_util/rfc1738.cc \
96 csu_util/rfc1738.h \
97 String++.cc \
98 String++.h
99
100 @SETUP@_LDADD = \
101 libgetopt++/libgetopt++.la -lgcrypt -lgpg-error -llzma -lbz2 -lz -lsolv -lregex \
102 -lshlwapi -lcomctl32 -lole32 -lws2_32 -lpsapi -luuid -lntdll -lwininet -lmingw32
103 @SETUP@_LDFLAGS = -mwindows -Wc,-static -static-libtool-libs
104 @SETUP@_SOURCES = \
105 AntiVirus.cc \
106 AntiVirus.h \
107 archive.cc \
108 archive.h \
109 archive_tar.cc \
110 archive_tar.h \
111 archive_tar_file.cc \
112 choose.cc \
113 choose.h \
114 compress.cc \
115 compress.h \
116 compress_bz.cc \
117 compress_bz.h \
118 compress_gz.cc \
119 compress_gz.h \
120 compress_xz.cc \
121 compress_xz.h \
122 confirm.cc \
123 confirm.h \
124 ConnectionSetting.cc \
125 ConnectionSetting.h \
126 ControlAdjuster.cc \
127 ControlAdjuster.h \
128 crypto.cc \
129 crypto.h \
130 cyg-pubkey.h \
131 desktop.cc \
132 desktop.h \
133 dialog.cc \
134 dialog.h \
135 diskfull.cc \
136 diskfull.h \
137 download.cc \
138 download.h \
139 Exception.cc \
140 Exception.h \
141 find.cc \
142 find.h \
143 FindVisitor.cc \
144 FindVisitor.h \
145 filemanip.cc \
146 filemanip.h \
147 fromcwd.cc \
148 Generic.h \
149 geturl.cc \
150 geturl.h \
151 gpg-packet.cc \
152 gpg-packet.h \
153 ini.cc \
154 ini.h \
155 IniDBBuilder.h \
156 IniDBBuilderPackage.cc \
157 IniDBBuilderPackage.h \
158 inilex.ll \
159 iniparse.yy \
160 IniParseFeedback.cc \
161 IniParseFeedback.h \
162 install.cc \
163 io_stream.cc \
164 io_stream.h \
165 io_stream_cygfile.cc \
166 io_stream_cygfile.h \
167 io_stream_file.cc \
168 io_stream_file.h \
169 io_stream_memory.cc \
170 io_stream_memory.h \
171 IOStreamProvider.h \
172 KeysSetting.cc \
173 KeysSetting.h \
174 libsolv.cc \
175 libsolv.h \
176 localdir.cc \
177 localdir.h \
178 LogFile.cc \
179 LogFile.h \
180 LogSingleton.cc \
181 LogSingleton.h \
182 main.cc \
183 mkdir.cc \
184 mkdir.h \
185 mklink2.cc \
186 mklink2.h \
187 mount.cc \
188 mount.h \
189 msg.cc \
190 msg.h \
191 net.cc \
192 net.h \
193 netio.cc \
194 netio.h \
195 nio-ie5.cc \
196 nio-ie5.h \
197 nio-file.cc \
198 nio-file.h \
199 nio-ftp.cc \
200 nio-ftp.h \
201 nio-http.cc \
202 nio-http.h \
203 package_db.cc \
204 package_db.h \
205 package_depends.h \
206 package_depends.cc \
207 package_meta.cc \
208 package_meta.h \
209 package_source.cc \
210 package_source.h \
211 package_version.h \
212 PackageSpecification.cc \
213 PackageSpecification.h \
214 PackageTrust.h \
215 PickCategoryLine.cc \
216 PickCategoryLine.h \
217 PickLine.h \
218 PickPackageLine.cc \
219 PickPackageLine.h \
220 PickView.cc \
221 PickView.h \
222 postinstall.cc \
223 postinstallresults.cc \
224 postinstallresults.h \
225 prereq.cc \
226 prereq.h \
227 processlist.cc \
228 processlist.h \
229 proppage.cc \
230 proppage.h \
231 propsheet.cc \
232 propsheet.h \
233 RECTWrapper.h \
234 res.rc \
235 resource.h \
236 root.cc \
237 root.h \
238 script.cc \
239 script.h \
240 setup_version.h \
241 setup_version.c \
242 sha2.h \
243 sha2.c \
244 simpsock.cc \
245 simpsock.h \
246 site.cc \
247 site.h \
248 source.cc \
249 source.h \
250 SourceSetting.cc \
251 SourceSetting.h \
252 splash.cc \
253 splash.h \
254 state.cc \
255 state.h \
256 String++.cc \
257 String++.h \
258 threebar.cc \
259 threebar.h \
260 UserSettings.cc \
261 UserSettings.h \
262 win32.cc \
263 win32.h \
264 window.cc \
265 window.h \
266 csu_util/MD5Sum.cc \
267 csu_util/MD5Sum.h \
268 csu_util/rfc1738.cc \
269 csu_util/rfc1738.h \
270 csu_util/version_compare.cc \
271 csu_util/version_compare.h
272
273 GITVER := $(shell cd $(srcdir) && git describe --match release_\* --abbrev=6 --dirty || "N/A")
274 VER := $(subst release_,,$(GITVER))
275 ARCH := @ARCH@
276
277 setup_version.c : Makefile
278 @echo "Setup version: " $(VER)
279 $(AM_V_GEN)(echo '#define VERSION_PREFIX "%%% setup-version"';\
280 echo 'static const char version_store[] = VERSION_PREFIX " '$(VER)'";';\
281 echo 'const char *setup_version = version_store + sizeof (VERSION_PREFIX);') > version.tmp && \
282 mv version.tmp setup_version.c
283
284 # setup.exe.manifest is included in res.rc
285 res.o: @SETUP@.exe.manifest
286
287 .rc.o:
288 $(AM_V_GEN)$(WINDRES) --include-dir $(srcdir) -o $@ $<
289
290 setup-src:
291 @ver=setup-$(VER);\
292 cd ${srcdir}; rm -f $$ver; ln -sf . $$ver;\
293 git ls-files | tar -T - -cJf ${CURDIR}/$$ver-src.tar.xz;\
294 echo $$ver-src.tar.xz; exec rm -f $$ver
295
296 # optional: strip and compress executable
297 .PHONY: strip upx
298
299 strip: all
300 $(OBJCOPY) --add-gnu-debuglink=/dev/null --only-keep-debug setup$(EXEEXT) setup.dbg
301 $(OBJCOPY) --strip-all setup$(EXEEXT)
302 $(OBJCOPY) --add-gnu-debuglink=setup.dbg setup$(EXEEXT) setup$(EXEEXT)
303
304 CLEANFILES += setup.dbg
305
306 upx: strip
307 @if [ -e `which upx` ]; then\
308 upx --best --lzma setup$(EXEEXT) ;\
309 else \
310 echo "UPX doesn't seem to be installed, cannot compress setup$(EXEEXT)." ;\
311 fi
312
313 release: upx
314 cp setup.dbg setup-${VER}.${ARCH}.dbg
315 cp setup${EXEEXT} setup-${VER}.${ARCH}${EXEEXT}
316
317 UPLOAD_HOST=cygwin-admin@cygwin.com
318 UPLOAD_PATH=/www/sourceware/htdocs/cygwin/setup
319
320 upload: release
321 scp setup-${VER}.$(ARCH).exe setup-${VER}.$(ARCH).dbg ${UPLOAD_HOST}:${UPLOAD_PATH}
322 ssh ${UPLOAD_HOST} gpg --detach-sign ${UPLOAD_PATH}/setup-${VER}.$(ARCH).exe
323
324 clean-local:
325 rm -f setup*${EXEEXT} setup*.dbg
This page took 0.049894 seconds and 5 git commands to generate.