📄 distdir.am
字号:
## automake - create Makefile.in from Makefile.am## Copyright 2001 Free Software Foundation, Inc.## This program is free software; you can redistribute it and/or modify## it under the terms of the GNU General Public License as published by## the Free Software Foundation; either version 2, or (at your option)## any later version.## This program is distributed in the hope that it will be useful,## but WITHOUT ANY WARRANTY; without even the implied warranty of## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the## GNU General Public License for more details.## You should have received a copy of the GNU General Public License## along with this program; if not, write to the Free Software## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA## 02111-1307, USA.## DIST_COMMON comes first so that README can be the very first file.DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)top_distdir = %TOP_DISTDIR%if %?TOPDIR_P%## Avoid unsightly `./'.?DISTDIR?distdir = $(PACKAGE)-$(VERSION)else !%?TOPDIR_P%?DISTDIR?distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)endif !%?TOPDIR_P%if %?TOPDIR_P%am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; }endif %?TOPDIR_P%.PHONY: distdirdistdir: $(DISTFILES)#### For Gnits users, this is pretty handy. Look at 15 lines## in case some explanatory text is desirable.##if %?TOPDIR_P%if %?CK-NEWS% @if sed 15q $(srcdir)/NEWS | fgrep -e "$(VERSION)" >/dev/null; \ then :; else \ echo "NEWS not updated; not releasing" 1>&2; \ exit 1; \ fiendif %?CK-NEWS%endif %?TOPDIR_P%#### Only for the top dir.##if %?TOPDIR_P% $(am__remove_distdir) mkdir $(distdir)endif %?TOPDIR_P%####?DISTDIRS? $(mkinstalldirs) %DISTDIRS%#### @list='$(DISTFILES)'; for file in $$list; do \#### Always look for the file in the build directory first. That way## for something like yacc output we will correctly pick up the latest## version. Also check for directories in the build directory first,## so one can ship generated directories.## if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \#### Make the subdirectory for the file. This is going to make `dist'## really crawl, but it seems like the only way to do it, given that## files in subdirectories can be specified for `dist' conditionally.## dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \#### Use cp, not ln. There are situations in which "ln" can fail. For## instance a file to distribute could actually be a cross-filesystem## symlink -- this can easily happen if "gettextize" was run on the## distribution.## if test -d $$d/$$file; then \## Don't mention $$file in destination argument, since this fails if## destination directory already exists. Also, use `-R' and not `-r'.## `-r' is almost always incorrect.#### If a directory exists both in `.' and $(srcdir), then## We copy the files from $(srcdir) first and then install those from## `.'. This can help people who distribute directories made of## source files _and_ generated files. It is also important when the## directory exists only in $(srcdir), because some vendor Make (such## as Tru64) will magically create an empty directory in `.' if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \## Test for file existence because sometimes a file gets included in## DISTFILES twice. For example this happens when a single source## file is used in building more than one program. test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done#### Test for directory existence here because previous automake## invocation might have created some directories. Note that we## explicitly set distdir for the subdir make; that lets us mix-n-match## many automake-using packages into one large package, and have "dist"## at the top level do the right thing. If we're in the topmost## directory, then we use `distdir' instead of `top_distdir'; this lets## us work correctly with an enclosing package.##if %?SUBDIRS% list='$(%DIST_SUBDIR_NAME%)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" \ distdir=../$(distdir)/$$subdir \ distdir) \ || exit 1; \ fi; \ doneendif %?SUBDIRS%#### We might have to perform some last second updates, such as updating## info files.## We must explicitly set distdir and top_distdir for these sub-makes.##if %?DIST-TARGETS% $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="${top_distdir}" distdir="$(distdir)" \ %DIST-TARGETS%endif %?DIST-TARGETS%#### This complex find command will try to avoid changing the modes of## links into the source tree, in case they're hard-linked. It will## also make directories writable by everybody, because some## brain-dead tar implementations change ownership and permissions of## a directory before extracting the files, thus becoming unable to## extract them.#### Ignore return result from chmod, because it might give an error## if we chmod a symlink.#### Another nastiness: if the file is unreadable by us, we make it## readable regardless of the number of links to it. This only## happens in perverse cases.#### We use $(install_sh) because that is a known-portable way to modify## the file in place in the source tree.##if %?TOPDIR_P% -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir)endif %?TOPDIR_P%## --------------------------------------- #### Building various distribution flavors. #### --------------------------------------- #### Note that we don't use GNU tar's `-z' option. One reason (but not## the only reason) is that some versions of tar (e.g., OSF1)## interpret `-z' differently.if %?TOPDIR_P%GZIP_ENV = --best.PHONY: dist-gzipdist-gzip: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir)if %?BZIP2%.PHONY: dist-bzip2dist-bzip2: distdir $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir)endif %?BZIP2%if %?COMPRESS%.PHONY: dist-tarZdist-tarZ: distdir $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z $(am__remove_distdir)endif %?COMPRESS%if %?SHAR%.PHONY: dist-shardist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir)endif %?SHAR%if %?ZIP%.PHONY: dist-zipdist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir)endif %?ZIP%endif %?TOPDIR_P%## ------------------------------------------------- #### Building all the requested distribution flavors. #### ------------------------------------------------- #### Currently we cannot use if/endif inside a rule. The file_contents## parser needs work.if %?TOPDIR_P%.PHONY: dist dist-alldist dist-all: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz?BZIP2? $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2?COMPRESS? $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z?SHAR? shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz?ZIP? -rm -f $(distdir).zip?ZIP? zip -rq $(distdir).zip $(distdir) $(am__remove_distdir)endif %?TOPDIR_P%## ------------------------- #### Checking a distribution. #### ------------------------- ##if %?TOPDIR_P%# This target untars the dist file and tries a VPATH configuration. Then# it guarantees that the distribution is self-contained by making another# tarfile..PHONY: distcheckdistcheck: dist $(am__remove_distdir) GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -## Make the new source tree read-only. Distributions ought to work in## this case. However, make the top-level directory writable so we## can make our new subdirs. chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/=build mkdir $(distdir)/=inst## Undo the write access. chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \?DISTCHECK-HOOK? && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \ && cd $(distdir)/=build \ && ../configure --srcdir=.. --prefix=$$dc_install_base \?GETTEXT? --with-included-gettext \## Additional flags for configure. Keep this last in the configure## invocation so the user can override previous options. $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \## We use -le 1 because the `dir' file might still exist after uninstall. && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ find $$dc_install_base -type f -print ; \ exit 1; } >&2 ) \ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \## Make sure to remove the dist file we created in the test build## directory. && rm -f $(distdir).tar.gz \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @echo "$(distdir).tar.gz is ready for distribution" | \ sed 'h;s/./=/g;p;x;p;x'## Define distcleancheck_listfiles and distcleancheck separately## from distcheck, so that they can be overriden by the user..PHONY: distcleancheckdistcleancheck_listfiles = find . -type f -printdistcleancheck: distclean if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2endif %?TOPDIR_P%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -