]>
Commit | Line | Data |
---|---|---|
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 | $(ZLIB_CFLAGS) $(LZMA_CFLAGS) $(ZSTD_CFLAGS) $(LIBCRYPT_CFLAGS) $(LIBSOLV_CFLAGS) | |
33 | ||
34 | inilex_CXXFLAGS:=-Wno-sign-compare | |
35 | ||
36 | noinst_PROGRAMS = @SETUP@$(EXEEXT) inilint | |
37 | ||
38 | EXTRA_DIST = \ | |
39 | CHANGES \ | |
40 | CONTRIBUTORS \ | |
41 | COPYING \ | |
42 | bootstrap.sh \ | |
43 | cygwin.ico \ | |
44 | cygwin-setup.ico \ | |
45 | cygwin-terminal.ico \ | |
46 | setup.exe.manifest \ | |
47 | setup64.exe.manifest \ | |
48 | tree-minus.ico \ | |
49 | tree-plus.ico | |
50 | ||
51 | # iniparse.hh is generated from iniparse.yy via bison -d, so it needs to be | |
52 | # included here for proper tracking (but not iniparse.cc, since automake | |
53 | # knows about that already) | |
54 | BUILT_SOURCES = \ | |
55 | setup_version.c \ | |
56 | iniparse.hh | |
57 | ||
58 | CLEANFILES = setup_version.c | |
59 | ||
60 | inilint_LDADD = \ | |
61 | libgetopt++/libgetopt++.la \ | |
62 | -lntdll -luuid | |
63 | ||
64 | inilint_SOURCES = \ | |
65 | filemanip.cc \ | |
66 | filemanip.h \ | |
67 | CliParseFeedback.cc \ | |
68 | CliParseFeedback.h \ | |
69 | LogSingleton.cc \ | |
70 | LogSingleton.h \ | |
71 | IniDBBuilder.h \ | |
72 | inilintmain.cc \ | |
73 | inilex.ll \ | |
74 | iniparse.yy \ | |
75 | io_stream.cc \ | |
76 | io_stream.h \ | |
77 | io_stream_file.cc \ | |
78 | io_stream_file.h \ | |
79 | mkdir.cc \ | |
80 | mkdir.h \ | |
81 | mklink2.cc \ | |
82 | mklink2.h \ | |
83 | PackageTrust.h \ | |
84 | String++.cc \ | |
85 | String++.h \ | |
86 | win32.cc \ | |
87 | win32.h | |
88 | ||
89 | @SETUP@_LDADD = \ | |
90 | libgetopt++/libgetopt++.la \ | |
91 | $(LIBGCRYPT_LIBS) \ | |
92 | $(ZSTD_LIBS) \ | |
93 | $(LZMA_LIBS) \ | |
94 | $(BZ2_LIBS) \ | |
95 | $(ZLIB_LIBS) \ | |
96 | $(LIBSOLV_LIBS) -lregex \ | |
97 | -lshlwapi -lcomctl32 -lole32 -lpsapi -luuid -lntdll -lwininet -lws2_32 -lmingw32 | |
98 | @SETUP@_LDFLAGS = -mwindows -Wc,-static -static-libtool-libs | |
99 | @SETUP@_SOURCES = \ | |
100 | actionlist.h \ | |
101 | AntiVirus.cc \ | |
102 | AntiVirus.h \ | |
103 | archive.cc \ | |
104 | archive.h \ | |
105 | archive_tar.cc \ | |
106 | archive_tar.h \ | |
107 | archive_tar_file.cc \ | |
108 | choose.cc \ | |
109 | choose.h \ | |
110 | compress.cc \ | |
111 | compress.h \ | |
112 | compress_bz.cc \ | |
113 | compress_bz.h \ | |
114 | compress_gz.cc \ | |
115 | compress_gz.h \ | |
116 | compress_xz.cc \ | |
117 | compress_xz.h \ | |
118 | compress_zstd.cc \ | |
119 | compress_zstd.h \ | |
120 | confirm.cc \ | |
121 | confirm.h \ | |
122 | ConnectionSetting.cc \ | |
123 | ConnectionSetting.h \ | |
124 | ControlAdjuster.cc \ | |
125 | ControlAdjuster.h \ | |
126 | crypto.cc \ | |
127 | crypto.h \ | |
128 | cyg-pubkey.h \ | |
129 | desktop.cc \ | |
130 | desktop.h \ | |
131 | dialog.cc \ | |
132 | dialog.h \ | |
133 | diskfull.cc \ | |
134 | diskfull.h \ | |
135 | download.cc \ | |
136 | download.h \ | |
137 | Exception.cc \ | |
138 | Exception.h \ | |
139 | find.cc \ | |
140 | find.h \ | |
141 | FindVisitor.cc \ | |
142 | FindVisitor.h \ | |
143 | filemanip.cc \ | |
144 | filemanip.h \ | |
145 | fromcwd.cc \ | |
146 | Generic.h \ | |
147 | geturl.cc \ | |
148 | geturl.h \ | |
149 | gpg-packet.cc \ | |
150 | gpg-packet.h \ | |
151 | ini.cc \ | |
152 | ini.h \ | |
153 | IniDBBuilder.h \ | |
154 | IniDBBuilderPackage.cc \ | |
155 | IniDBBuilderPackage.h \ | |
156 | inilex.ll \ | |
157 | iniparse.yy \ | |
158 | IniParseFeedback.h \ | |
159 | install.cc \ | |
160 | io_stream.cc \ | |
161 | io_stream.h \ | |
162 | io_stream_cygfile.cc \ | |
163 | io_stream_cygfile.h \ | |
164 | io_stream_file.cc \ | |
165 | io_stream_file.h \ | |
166 | io_stream_memory.cc \ | |
167 | io_stream_memory.h \ | |
168 | IOStreamProvider.h \ | |
169 | KeysSetting.cc \ | |
170 | KeysSetting.h \ | |
171 | libsolv.cc \ | |
172 | libsolv.h \ | |
173 | ListView.cc \ | |
174 | ListView.h \ | |
175 | localdir.cc \ | |
176 | localdir.h \ | |
177 | LogFile.cc \ | |
178 | LogFile.h \ | |
179 | LogSingleton.cc \ | |
180 | LogSingleton.h \ | |
181 | main.cc \ | |
182 | mkdir.cc \ | |
183 | mkdir.h \ | |
184 | mklink2.cc \ | |
185 | mklink2.h \ | |
186 | mount.cc \ | |
187 | mount.h \ | |
188 | msg.cc \ | |
189 | msg.h \ | |
190 | net.cc \ | |
191 | net.h \ | |
192 | netio.cc \ | |
193 | netio.h \ | |
194 | nio-ie5.cc \ | |
195 | nio-ie5.h \ | |
196 | package_db.cc \ | |
197 | package_db.h \ | |
198 | package_depends.h \ | |
199 | package_depends.cc \ | |
200 | package_meta.cc \ | |
201 | package_meta.h \ | |
202 | package_source.cc \ | |
203 | package_source.h \ | |
204 | package_version.h \ | |
205 | PackageSpecification.cc \ | |
206 | PackageSpecification.h \ | |
207 | PackageTrust.h \ | |
208 | PickCategoryLine.cc \ | |
209 | PickCategoryLine.h \ | |
210 | PickPackageLine.cc \ | |
211 | PickPackageLine.h \ | |
212 | PickView.cc \ | |
213 | PickView.h \ | |
214 | postinstall.cc \ | |
215 | postinstallresults.cc \ | |
216 | postinstallresults.h \ | |
217 | prereq.cc \ | |
218 | prereq.h \ | |
219 | processlist.cc \ | |
220 | processlist.h \ | |
221 | proppage.cc \ | |
222 | proppage.h \ | |
223 | propsheet.cc \ | |
224 | propsheet.h \ | |
225 | RECTWrapper.h \ | |
226 | res.rc \ | |
227 | resource.h \ | |
228 | root.cc \ | |
229 | root.h \ | |
230 | script.cc \ | |
231 | script.h \ | |
232 | setup_version.h \ | |
233 | setup_version.c \ | |
234 | sha2.h \ | |
235 | sha2.c \ | |
236 | site.cc \ | |
237 | site.h \ | |
238 | source.cc \ | |
239 | source.h \ | |
240 | SourceSetting.cc \ | |
241 | SourceSetting.h \ | |
242 | splash.cc \ | |
243 | splash.h \ | |
244 | state.cc \ | |
245 | state.h \ | |
246 | String++.cc \ | |
247 | String++.h \ | |
248 | threebar.cc \ | |
249 | threebar.h \ | |
250 | UserSettings.cc \ | |
251 | UserSettings.h \ | |
252 | win32.cc \ | |
253 | win32.h \ | |
254 | window.cc \ | |
255 | window.h \ | |
256 | csu_util/MD5Sum.cc \ | |
257 | csu_util/MD5Sum.h \ | |
258 | csu_util/rfc1738.cc \ | |
259 | csu_util/rfc1738.h \ | |
260 | csu_util/version_compare.cc \ | |
261 | csu_util/version_compare.h | |
262 | ||
263 | GITVER := $(shell cd $(srcdir) && git describe --match release_\* --abbrev=6 --dirty || "N/A") | |
264 | VER := $(subst release_,,$(GITVER)) | |
265 | ARCH := @ARCH@ | |
266 | ||
267 | setup_version.c : Makefile | |
268 | @echo "Setup version: " $(VER) | |
269 | $(AM_V_GEN)(echo '#define VERSION_PREFIX "%%% setup-version"';\ | |
270 | echo 'static const char version_store[] = VERSION_PREFIX " '$(VER)'";';\ | |
271 | echo 'const char *setup_version = version_store + sizeof (VERSION_PREFIX);') > version.tmp && \ | |
272 | mv version.tmp setup_version.c | |
273 | ||
274 | # setup.exe.manifest is included in res.rc | |
275 | res.o: @SETUP@.exe.manifest | |
276 | ||
277 | .rc.o: | |
278 | $(AM_V_GEN)$(WINDRES) --include-dir $(srcdir) -o $@ $< | |
279 | ||
280 | setup-src: | |
281 | @ver=setup-$(VER);\ | |
282 | cd ${srcdir}; rm -f $$ver; ln -sf . $$ver;\ | |
283 | git ls-files | tar -T - -cJf ${CURDIR}/$$ver-src.tar.xz;\ | |
284 | echo $$ver-src.tar.xz; exec rm -f $$ver | |
285 | ||
286 | # optional: strip and compress executable | |
287 | .PHONY: strip upx | |
288 | ||
289 | strip: all | |
290 | $(OBJCOPY) --add-gnu-debuglink=/dev/null --only-keep-debug setup$(EXEEXT) setup.dbg | |
291 | $(OBJCOPY) --strip-all setup$(EXEEXT) | |
292 | $(OBJCOPY) --add-gnu-debuglink=setup.dbg setup$(EXEEXT) setup$(EXEEXT) | |
293 | ||
294 | CLEANFILES += setup.dbg | |
295 | ||
296 | upx: strip | |
297 | @if [ -e `which upx` ]; then\ | |
298 | upx --best --lzma setup$(EXEEXT) ;\ | |
299 | else \ | |
300 | echo "UPX doesn't seem to be installed, cannot compress setup$(EXEEXT)." ;\ | |
301 | fi | |
302 | ||
303 | release: upx | |
304 | cp setup.dbg setup-${VER}.${ARCH}.dbg | |
305 | cp setup${EXEEXT} setup-${VER}.${ARCH}${EXEEXT} | |
306 | ||
307 | UPLOAD_HOST=cygwin-admin@cygwin.com | |
308 | UPLOAD_PATH=/www/sourceware/htdocs/cygwin/setup | |
309 | ||
310 | upload: release | |
311 | scp setup-${VER}.$(ARCH).exe setup-${VER}.$(ARCH).dbg ${UPLOAD_HOST}:${UPLOAD_PATH} | |
312 | ssh ${UPLOAD_HOST} gpg --detach-sign ${UPLOAD_PATH}/setup-${VER}.$(ARCH).exe | |
313 | ||
314 | clean-local: | |
315 | rm -f setup*${EXEEXT} setup*.dbg |