The MinGW.OSDN Installation Manager Tool
修订版 | ff9a6b590bfc7e912ea70911323d6662494fe6b6 (tree) |
---|---|
时间 | 2012-12-21 22:53:18 |
作者 | Keith Marshall <keithmarshall@user...> |
Commiter | Keith Marshall |
Update distribution build rules.
@@ -1,5 +1,17 @@ | ||
1 | 1 | 2012-12-21 Keith Marshall <keithmarshall@users.sourceforge.net> |
2 | 2 | |
3 | + Update distribution build rules. | |
4 | + | |
5 | + * Makefile.in (SRCDIST_FILES): Remove version.c.in; this was moved | |
6 | + to src/version.c.in, and is now automatically included via... | |
7 | + (SRCDIST_SUBDIRS): ...this; remove build-aux and build-aux/m4; we want | |
8 | + only selected files from these, as filtered by specification in... | |
9 | + (BUILD_AUX_DIRS, BUILD_AUX_FILES): ...these new macros; define them. | |
10 | + (BLDTAG, SCMTAG, GCMTAG): New release class macros; define them. | |
11 | + (bindist, licdist, srcdist): Use them. | |
12 | + | |
13 | +2012-12-21 Keith Marshall <keithmarshall@users.sourceforge.net> | |
14 | + | |
3 | 15 | Update CLI implementation hooks for GUI integration. |
4 | 16 | |
5 | 17 | * Makefile.in (LIBEXEC_PROGRAMS): Replace gui$EXEEXT with |
@@ -219,13 +219,23 @@ install-strip: install | ||
219 | 219 | done |
220 | 220 | |
221 | 221 | # Packaging and distribution... |
222 | +# "Native" source files, (i.e. those specific to mingw-get), are... | |
222 | 223 | # |
223 | 224 | LICENCE_FILES = README COPYING |
224 | 225 | SRCDIST_FILES = $(LICENCE_FILES) ChangeLog NEWS INSTALL \ |
225 | - aclocal.m4 configure.ac configure Makefile.in version.c.in | |
226 | + aclocal.m4 configure.ac configure Makefile.in | |
226 | 227 | |
227 | -SRCDIST_SUBDIRS = build-aux build-aux/m4 icons src src/pkginfo \ | |
228 | - srcdist-doc scripts/libexec tinyxml xml | |
228 | +# ...plus the entire content of the sub-directories... | |
229 | +# | |
230 | +SRCDIST_SUBDIRS = src src/pkginfo srcdist-doc icons \ | |
231 | + scripts/libexec tinyxml xml | |
232 | + | |
233 | +# In addition to the native sources for mingw-get, our source distribution | |
234 | +# must include a filtered subset of those additional files which we import | |
235 | +# from the project's global build-aux repository... | |
236 | +# | |
237 | +BUILD_AUX_DIRS = build-aux build-aux/m4 | |
238 | +BUILD_AUX_FILES = config.guess config.sub install-sh missing.m4 | |
229 | 239 | |
230 | 240 | # The names of distributed package archive files incorporate version |
231 | 241 | # information, derived from PACKAGE_VERSION; this is decomposed, so that |
@@ -252,15 +262,26 @@ dist: srcdist bindist readme.txt | ||
252 | 262 | TARZIP = xz |
253 | 263 | TAREXT = tar.$(TARZIP) |
254 | 264 | |
265 | +# The following macros facilitate the inclusion of SCM build tags within | |
266 | +# the generated names for the release tarballs; the GCMTAG macro is used | |
267 | +# to identify explicitly GUI components, while SCMTAG is used otherwise. | |
268 | +# | |
269 | +BLDTAG = @abs_top_builddir@/build.tag | |
270 | +SCMTAG = `>> $(BLDTAG); cat $(BLDTAG) | sed 's,.,-$(CLI_RELEASE_CLASS)-&,'` | |
271 | +GCMTAG = `>> $(BLDTAG); cat $(BLDTAG) | sed 's,.,-$(GUI_RELEASE_CLASS)-&,'` | |
272 | + | |
255 | 273 | bindist: all licdist |
256 | 274 | rm -rf staged |
257 | 275 | $(MAKE) --no-print-directory prefix=`pwd`/staged install-strip |
258 | 276 | cd staged; tar chf - bin/pkginfo$(EXEEXT) | $(TARZIP) -c > \ |
259 | - ../pkginfo-$(PACKAGE_DISTVERSION)-bin.$(TAREXT) | |
277 | + ../pkginfo-$(PACKAGE_DISTVERSION)$(SCMTAG)-bin.$(TAREXT) | |
260 | 278 | rm staged/bin/pkginfo$(EXEEXT) |
279 | + cd staged; tar chf - libexec/mingw-get/guimain$(EXEEXT) | \ | |
280 | + $(TARZIP) -c > ../$(PACKAGE_DISTNAME)$(GCMTAG)-gui.$(TAREXT) | |
281 | + rm staged/libexec/mingw-get/guimain$(EXEEXT) | |
261 | 282 | cd staged; tar chf - * | $(TARZIP) -c > \ |
262 | - ../$(PACKAGE_DISTNAME)-bin.$(TAREXT) | |
263 | - cd staged; zip -r ../$(PACKAGE_DISTNAME)-bin.zip * | |
283 | + ../$(PACKAGE_DISTNAME)$(SCMTAG)-bin.$(TAREXT) | |
284 | + cd staged; zip -r ../$(PACKAGE_DISTNAME)$(SCMTAG)-bin.zip * | |
264 | 285 | rm -rf staged |
265 | 286 | |
266 | 287 | licdist: |
@@ -271,7 +292,8 @@ licdist: | ||
271 | 292 | && $(LN_S) ${abs_top_srcdir}/$$file . \ |
272 | 293 | || $(LN_S) ${CURDIR}/$$file .; \ |
273 | 294 | done |
274 | - tar chf - share | $(TARZIP) -c > $(PACKAGE_DISTNAME)-lic.$(TAREXT) | |
295 | + tar chf - share | $(TARZIP) -c > \ | |
296 | + $(PACKAGE_DISTNAME)$(SCMTAG)-lic.$(TAREXT) | |
275 | 297 | rm -rf share |
276 | 298 | |
277 | 299 | srcdist: srcdist-doc |
@@ -290,9 +312,18 @@ srcdist: srcdist-doc | ||
290 | 312 | fi; \ |
291 | 313 | done; \ |
292 | 314 | cd ${CURDIR}; done |
315 | + for dir in $(BUILD_AUX_DIRS); do \ | |
316 | + $(mkinstalldirs) ${PACKAGE_DISTROOT}/$$dir \ | |
317 | + && cd ${PACKAGE_DISTROOT}/$$dir; \ | |
318 | + for file in $(BUILD_AUX_FILES); do \ | |
319 | + if test -f ${abs_top_srcdir}/$$dir/$$file; then \ | |
320 | + $(LN_S) ${abs_top_srcdir}/$$dir/$$file .; \ | |
321 | + fi; \ | |
322 | + done; \ | |
323 | + cd ${CURDIR}; done | |
293 | 324 | cd ${PACKAGE_DISTROOT}/src/pkginfo; $(LN_S) ${CURDIR}/pkginfo.c . |
294 | 325 | tar chf - ${PACKAGE_DISTROOT} | $(TARZIP) -c > \ |
295 | - ${PACKAGE_DISTNAME}-src.$(TAREXT) | |
326 | + $(PACKAGE_DISTNAME)$(SCMTAG)-src.$(TAREXT) | |
296 | 327 | rm -rf ${PACKAGE_DISTROOT} |
297 | 328 | |
298 | 329 | # README, INSTALL and NEWS files to be included in the source distribution |