1## automake - create Makefile.in from Makefile.am 2## Copyright (C) 2001-2021 Free Software Foundation, Inc. 3 4## This program is free software; you can redistribute it and/or modify 5## it under the terms of the GNU General Public License as published by 6## the Free Software Foundation; either version 2, or (at your option) 7## any later version. 8 9## This program is distributed in the hope that it will be useful, 10## but WITHOUT ANY WARRANTY; without even the implied warranty of 11## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12## GNU General Public License for more details. 13 14## You should have received a copy of the GNU General Public License 15## along with this program. If not, see <https://www.gnu.org/licenses/>. 16 17DIST_COMMON += $(am__DIST_COMMON) 18DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 19 20if %?TOPDIR_P% 21distdir = $(PACKAGE)-$(VERSION) 22top_distdir = $(distdir) 23 24am__remove_distdir = \ 25 if test -d "$(distdir)"; then \ 26 find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ 27 && rm -rf "$(distdir)" \ 28## On MSYS (1.0.17) it is not possible to remove a directory that is in 29## use; so, if the first rm fails, we sleep some seconds and retry, to 30## give pending processes some time to exit and "release" the directory 31## before we remove it. The value of "some seconds" is 5 for the moment, 32## which is mostly an arbitrary value, but seems high enough in practice. 33## See automake bug#10470. 34 || { sleep 5 && rm -rf "$(distdir)"; }; \ 35 else :; fi 36am__post_remove_distdir = $(am__remove_distdir) 37endif %?TOPDIR_P% 38 39if %?SUBDIRS% 40## computes a relative pathname RELDIR such that DIR1/RELDIR = DIR2. 41## Input: 42## - DIR1 relative pathname, relative to the current directory 43## - DIR2 relative pathname, relative to the current directory 44## Output: 45## - reldir relative pathname of DIR2, relative to DIR1 46am__relativize = \ 47 dir0=`pwd`; \ 48 sed_first='s,^\([^/]*\)/.*$$,\1,'; \ 49 sed_rest='s,^[^/]*/*,,'; \ 50 sed_last='s,^.*/\([^/]*\)$$,\1,'; \ 51 sed_butlast='s,/*[^/]*$$,,'; \ 52 while test -n "$$dir1"; do \ 53 first=`echo "$$dir1" | sed -e "$$sed_first"`; \ 54 if test "$$first" != "."; then \ 55 if test "$$first" = ".."; then \ 56 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ 57 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ 58 else \ 59 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ 60 if test "$$first2" = "$$first"; then \ 61 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ 62 else \ 63 dir2="../$$dir2"; \ 64 fi; \ 65 dir0="$$dir0"/"$$first"; \ 66 fi; \ 67 fi; \ 68 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ 69 done; \ 70 reldir="$$dir2" 71endif %?SUBDIRS% 72 73.PHONY: distdir 74if %?SUBDIRS% 75AM_RECURSIVE_TARGETS += distdir distdir-am 76endif %?SUBDIRS% 77 78if %?DIST_BUILT_SOURCES% 79distdir: 80 $(MAKE) $(AM_MAKEFLAGS) distdir-am 81else !%?DIST_BUILT_SOURCES% 82distdir: $(BUILT_SOURCES) 83 $(MAKE) $(AM_MAKEFLAGS) distdir-am 84endif !%?DIST_BUILT_SOURCES% 85 86distdir-am: $(DISTFILES) 87## 88## For Gnits users, this is pretty handy. Look at 15 lines 89## in case some explanatory text is desirable. 90## 91if %?TOPDIR_P% 92if %?CK-NEWS% 93 @case `sed 15q $(srcdir)/NEWS` in \ 94 *"$(VERSION)"*) : ;; \ 95 *) \ 96 echo "NEWS not updated; not releasing" 1>&2; \ 97 exit 1;; \ 98 esac 99endif %?CK-NEWS% 100endif %?TOPDIR_P% 101## 102## Only for the top dir. 103## 104if %?TOPDIR_P% 105 $(am__remove_distdir) 106 test -d "$(distdir)" || mkdir "$(distdir)" 107endif %?TOPDIR_P% 108## 109## 110 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 111 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 112## 113## Yet another hack to support SUN make. 114## 115## Let's assume 'foo' appears in DISTFILES and is not a built file. 116## When building with VPATH=$(srcdir), SUN make and OSF1/Tru64 will 117## rewrite 'foo' as '$(srcdir)/foo'. An attempt to install the file 118## with 119## cp $file $(distdir)/$file 120## will thus install $(srcdir)/foo as $(distdir)/$(srcdir)/foo 121## instead of $(distdir)/foo. 122## 123## So let's strip this leading $(srcdir)/ when it exists. (As far we 124## know, only SUN make and OSF1/Tru64 make add it.) Searching whether 125## the file is to be found in the source or build directory will be 126## done later. 127## 128## In case we are _not_ using SUN or OSF1/Tru64 make, how can we be sure 129## we are not stripping a legitimate filename that starts with the 130## same pattern as $(srcdir)? 131## Well, it can't happen without the Makefile author distributing 132## something out of the distribution (which is bad). As an example, 133## consider "EXTRA_DIST = ../bar". This is an issue if $srcdir is 134## '..', however getting this value for srcdir is impossible: 135## "EXTRA_DIST = ../bar" implies we are in a subdirectory (so '../bar' 136## is within the package), hence '$srcdir' is something like 137## '../../subdir'. 138## 139## There is more to say about files which are above the current directory, 140## like '../bar' in the previous example. The OSF1/Tru64 make 141## implementation can simplify filenames resulting from a VPATH lookup. 142## For instance if "VPATH = ../../subdir" and '../bar' is found in that 143## VPATH directory, then occurrences of '../bar' will be replaced by 144## '../../bar' (instead of '../../subdir/../bar'). This obviously defeats 145## any attempt to strip a leading $srcdir. Presently we have no workaround 146## for this. We avoid this issue by writing "EXTRA_DIST = $(srcdir)/../bar" 147## instead of "EXTRA_DIST = ../bar". This prefixing is needed only for files 148## above the current directory. Fortunately, apart from auxdir files which 149## can be located in .. or ../.., this situation hardly occurs in practice. 150## 151## Also rewrite $(top_srcdir) (which sometimes appears in DISTFILES, and can 152## be absolute) by $(top_builddir) (which is always relative). $(srcdir) will 153## be prepended later. 154 list='$(DISTFILES)'; \ 155 dist_files=`for file in $$list; do echo $$file; done | \ 156 sed -e "s|^$$srcdirstrip/||;t" \ 157 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ 158## (The second 't' command clears the flag for the next round.) 159## 160## Make the subdirectories for the files. 161## 162 case $$dist_files in \ 163 */*) $(MKDIR_P) `echo "$$dist_files" | \ 164 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ 165 sort -u` ;; \ 166 esac; \ 167## 168## 169 for file in $$dist_files; do \ 170## 171## Always look for the file in the build directory first. That way 172## for something like yacc output we will correctly pick up the latest 173## version. Also check for directories in the build directory first, 174## so one can ship generated directories. 175## 176 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ 177## 178## Use cp, not ln. There are situations in which "ln" can fail. For 179## instance a file to distribute could actually be a cross-filesystem 180## symlink -- this can easily happen if "gettextize" was run on the 181## distribution. 182## 183 if test -d $$d/$$file; then \ 184## Don't mention $$file in the destination argument, since this fails if 185## the destination directory already exists. Also, use '-R' and not '-r'. 186## '-r' is almost always incorrect. 187## 188## If a directory exists both in '.' and $(srcdir), then we copy the 189## files from $(srcdir) first and then install those from '.'. This 190## can help people who distribute directories made of source files 191## *and* generated files. It is also important when the directory 192## exists only in $(srcdir), because some vendor Make (such as Tru64) 193## will magically create an empty directory in '.'. 194 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ 195## If the destination directory already exists, it may contain read-only 196## files, e.g., during "make distcheck". 197 if test -d "$(distdir)/$$file"; then \ 198 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 199 fi; \ 200 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ 201 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ 202 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 203 fi; \ 204 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ 205 else \ 206## Test for file existence because sometimes a file gets included in 207## DISTFILES twice. For example this happens when a single source 208## file is used in building more than one program. 209## See also test 'dist-repeated.sh'. 210 test -f "$(distdir)/$$file" \ 211 || cp -p $$d/$$file "$(distdir)/$$file" \ 212 || exit 1; \ 213 fi; \ 214 done 215## 216## Test for directory existence here because previous automake 217## invocation might have created some directories. Note that we 218## explicitly set distdir for the subdir make; that lets us mix-n-match 219## many automake-using packages into one large package, and have "dist" 220## at the top level do the right thing. If we're in the topmost 221## directory, then we use 'distdir' instead of 'top_distdir'; this lets 222## us work correctly with an enclosing package. 223if %?SUBDIRS% 224 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ 225 if test "$$subdir" = .; then :; else \ 226 $(am__make_dryrun) \ 227 || test -d "$(distdir)/$$subdir" \ 228 || $(MKDIR_P) "$(distdir)/$$subdir" \ 229 || exit 1; \ 230 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ 231 $(am__relativize); \ 232 new_distdir=$$reldir; \ 233 dir1=$$subdir; dir2="$(top_distdir)"; \ 234 $(am__relativize); \ 235 new_top_distdir=$$reldir; \ 236 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ 237 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ 238 ($(am__cd) $$subdir && \ 239 $(MAKE) $(AM_MAKEFLAGS) \ 240 top_distdir="$$new_top_distdir" \ 241 distdir="$$new_distdir" \ 242## Disable am__remove_distdir so that sub-packages do not clear a 243## directory we have already cleared and might even have populated 244## (e.g. shared AUX dir in the sub-package). 245 am__remove_distdir=: \ 246## Disable filename length check: 247 am__skip_length_check=: \ 248## No need to fix modes more than once: 249 am__skip_mode_fix=: \ 250 distdir) \ 251 || exit 1; \ 252 fi; \ 253 done 254endif %?SUBDIRS% 255## 256## We might have to perform some last second updates, such as updating 257## info files. 258## We must explicitly set distdir and top_distdir for these sub-makes. 259## 260if %?DIST-TARGETS% 261 $(MAKE) $(AM_MAKEFLAGS) \ 262 top_distdir="$(top_distdir)" distdir="$(distdir)" \ 263 %DIST-TARGETS% 264endif %?DIST-TARGETS% 265## 266## This complex find command will try to avoid changing the modes of 267## links into the source tree, in case they're hard-linked. 268## 269## Ignore return result from chmod, because it might give an error 270## if we chmod a symlink. 271## 272## Another nastiness: if the file is unreadable by us, we make it 273## readable regardless of the number of links to it. This only 274## happens in perverse cases. 275## 276## We use $(install_sh) because that is a known-portable way to modify 277## the file in place in the source tree. 278## 279## If we are being invoked recursively, then there is no need to walk 280## the whole subtree again. This is a complexity reduction for a deep 281## hierarchy of subpackages. 282## 283if %?TOPDIR_P% 284 -test -n "$(am__skip_mode_fix)" \ 285 || find "$(distdir)" -type d ! -perm -755 \ 286 -exec chmod u+rwx,go+rx {} \; -o \ 287 ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ 288 ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ 289 ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ 290 || chmod -R a+r "$(distdir)" 291if %?FILENAME_FILTER% 292 @if test -z "$(am__skip_length_check)" && find "$(distdir)" -type f -print | \ 293 grep '^%FILENAME_FILTER%' 1>&2; then \ 294 echo 'error: the above filenames are too long' 1>&2; \ 295 exit 1; \ 296 else :; fi 297endif %?FILENAME_FILTER% 298endif %?TOPDIR_P% 299 300 301 302## --------------------------------------- ## 303## Building various distribution flavors. ## 304## --------------------------------------- ## 305 306## Note that we don't use GNU tar's '-z' option. One reason (but not 307## the only reason) is that some versions of tar (e.g., OSF1) 308## interpret '-z' differently. 309## 310## The -o option of GNU tar used to exclude empty directories. This 311## behavior was fixed in tar 1.12 (released on 1997-04-25). But older 312## versions of tar are still used (for instance NetBSD 1.6.1 ships 313## with tar 1.11.2). We do not do anything specific w.r.t. this 314## incompatibility since packages where empty directories need to be 315## present in the archive are really unusual. 316## 317## We order DIST_TARGETS by expected duration of the compressors, 318## slowest first, for better parallelism in "make dist". Do not 319## reorder DIST_ARCHIVES, users may expect gzip to be first. 320## 321## Traditionally, gzip prepended the contents of the GZIP environment 322## variable to its arguments, and the commands below formerly used 323## this by invoking 'GZIP=$(GZIP_ENV) gzip'. The GZIP environment 324## variable is now considered to be obsolescent, so the commands below 325## now use 'eval GZIP= gzip $(GZIP_ENV)' instead; this should work 326## with both older and newer gzip implementations. The 'eval' is to 327## support makefile assignments like 'GZIP_ENV = "-9 -n"' that quote 328## the GZIP_ENV right-hand side because that was needed with the 329## former invocation pattern. 330 331if %?TOPDIR_P% 332 333?GZIP?DIST_ARCHIVES += $(distdir).tar.gz 334GZIP_ENV = --best 335.PHONY: dist-gzip 336dist-gzip: distdir 337 tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz 338 $(am__post_remove_distdir) 339 340?BZIP2?DIST_ARCHIVES += $(distdir).tar.bz2 341.PHONY: dist-bzip2 342dist-bzip2: distdir 343 tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 344 $(am__post_remove_distdir) 345 346?LZIP?DIST_ARCHIVES += $(distdir).tar.lz 347.PHONY: dist-lzip 348dist-lzip: distdir 349 tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz 350 $(am__post_remove_distdir) 351 352?XZ?DIST_ARCHIVES += $(distdir).tar.xz 353.PHONY: dist-xz 354dist-xz: distdir 355 tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz 356 $(am__post_remove_distdir) 357 358?ZSTD?DIST_ARCHIVES += $(distdir).tar.zst 359.PHONY: dist-zstd 360dist-zstd: distdir 361 tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst 362 $(am__post_remove_distdir) 363 364?COMPRESS?DIST_ARCHIVES += $(distdir).tar.Z 365.PHONY: dist-tarZ 366dist-tarZ: distdir 367 @echo WARNING: "Support for distribution archives compressed with" \ 368 "legacy program 'compress' is deprecated." >&2 369 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 370 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z 371 $(am__post_remove_distdir) 372 373?SHAR?DIST_ARCHIVES += $(distdir).shar.gz 374.PHONY: dist-shar 375dist-shar: distdir 376 @echo WARNING: "Support for shar distribution archives is" \ 377 "deprecated." >&2 378 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 379 shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz 380 $(am__post_remove_distdir) 381 382?ZIP?DIST_ARCHIVES += $(distdir).zip 383.PHONY: dist-zip 384dist-zip: distdir 385 -rm -f $(distdir).zip 386 zip -rq $(distdir).zip $(distdir) 387 $(am__post_remove_distdir) 388 389?LZIP?DIST_TARGETS += dist-lzip 390?XZ?DIST_TARGETS += dist-xz 391?SHAR?DIST_TARGETS += dist-shar 392?BZIP2?DIST_TARGETS += dist-bzip2 393?GZIP?DIST_TARGETS += dist-gzip 394?ZIP?DIST_TARGETS += dist-zip 395?ZSTD?DIST_TARGETS += dist-zstd 396?COMPRESS?DIST_TARGETS += dist-tarZ 397 398endif %?TOPDIR_P% 399 400 401 402## ------------------------------------------------- ## 403## Building all the requested distribution flavors. ## 404## ------------------------------------------------- ## 405 406## Currently we cannot use if/endif inside a rule. The file_contents 407## parser needs work. 408 409if %?TOPDIR_P% 410 411.PHONY: dist dist-all 412if %?SUBDIRS% 413AM_RECURSIVE_TARGETS += dist dist-all 414endif %?SUBDIRS% 415 416dist dist-all: 417 $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' 418 $(am__post_remove_distdir) 419 420endif %?TOPDIR_P% 421 422 423## ------------------------- ## 424## Checking a distribution. ## 425## ------------------------- ## 426 427 428if %?TOPDIR_P% 429if %?SUBDIRS% 430AM_RECURSIVE_TARGETS += distcheck 431endif %?SUBDIRS% 432 433# Exists only to be overridden by the user if desired. 434AM_DISTCHECK_DVI_TARGET = dvi 435 436# This target untars the dist file and tries a VPATH configuration. Then 437# it guarantees that the distribution is self-contained by making another 438# tarfile. 439.PHONY: distcheck 440distcheck: dist 441 case '$(DIST_ARCHIVES)' in \ 442 *.tar.gz*) \ 443 eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ 444 *.tar.bz2*) \ 445 bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ 446 *.tar.lz*) \ 447 lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ 448 *.tar.xz*) \ 449 xz -dc $(distdir).tar.xz | $(am__untar) ;;\ 450 *.tar.Z*) \ 451 uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ 452 *.shar.gz*) \ 453 eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ 454 *.zip*) \ 455 unzip $(distdir).zip ;;\ 456 *.tar.zst*) \ 457 zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ 458 esac 459## Make the new source tree read-only. Distributions ought to work in 460## this case. However, make the top-level directory writable so we 461## can make our new subdirs. 462 chmod -R a-w $(distdir) 463 chmod u+w $(distdir) 464 mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst 465## Undo the write access. 466 chmod a-w $(distdir) 467## With GNU make, the following command will be executed even with "make -n", 468## due to the presence of '$(MAKE)'. That is normally all well (and '$(MAKE)' 469## is necessary for things like parallel distcheck), but here we don't want 470## execution. To avoid MAKEFLAGS parsing hassles, use a witness file that a 471## non-'-n' run would have just created. 472 test -d $(distdir)/_build || exit 0; \ 473## Compute the absolute path of '_inst'. Strip any leading DOS drive 474## to allow DESTDIR installations. Otherwise "$(DESTDIR)$(prefix)" would 475## expand to "c:/temp/am-dc-5668/c:/src/package/package-1.0/_inst". 476 dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ 477## We will attempt a DESTDIR install in $dc_destdir. We don't 478## create this directory under $dc_install_base, because it would 479## create very long directory names. 480 && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ 481?DISTCHECK-HOOK? && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \ 482## Parallel BSD make may not start a new shell for each command in a recipe, 483## so be sure to 'cd' back to the original directory after this. 484 && am__cwd=`pwd` \ 485## If we merely used '$(distdir)/_build' here, "make distcheck" could 486## sometimes fail to detect missing files in the distribution tarball, 487## especially in those cases where both the generated files and their 488## dependencies are explicitly in $(srcdir). See automake bug#18286. 489 && $(am__cd) $(distdir)/_build/sub \ 490 && ../../configure \ 491?GETTEXT? --with-included-gettext \ 492## Additional flags for configure. 493 $(AM_DISTCHECK_CONFIGURE_FLAGS) \ 494 $(DISTCHECK_CONFIGURE_FLAGS) \ 495## At the moment, the code doesn't actually support changes in these --srcdir 496## and --prefix values, so don't allow them to be overridden by the user or 497## the developer. That used to be allowed, and caused issues in practice 498## (in corner-case usages); see automake bug#14991. 499 --srcdir=../.. --prefix="$$dc_install_base" \ 500 && $(MAKE) $(AM_MAKEFLAGS) \ 501 && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ 502 && $(MAKE) $(AM_MAKEFLAGS) check \ 503 && $(MAKE) $(AM_MAKEFLAGS) install \ 504 && $(MAKE) $(AM_MAKEFLAGS) installcheck \ 505 && $(MAKE) $(AM_MAKEFLAGS) uninstall \ 506 && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ 507 distuninstallcheck \ 508## Make sure the package has proper DESTDIR support (we could not test this 509## in the previous install/installcheck/uninstall test, because it's reasonable 510## for installcheck to fail in a DESTDIR install). 511## We make the '$dc_install_base' read-only because this is where files 512## with missing DESTDIR support are likely to be installed. 513 && chmod -R a-w "$$dc_install_base" \ 514## The logic here is quite convoluted because we must clean $dc_destdir 515## whatever happens (it won't be erased by the next run of distcheck like 516## $(distdir) is). 517 && ({ \ 518## Build the directory, so we can cd into it even if "make install" 519## didn't create it. Use mkdir, not $(MKDIR_P) because we want to 520## fail if the directory already exists (PR/413). 521 (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ 522 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ 523 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ 524 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ 525 distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ 526 } || { rm -rf "$$dc_destdir"; exit 1; }) \ 527 && rm -rf "$$dc_destdir" \ 528 && $(MAKE) $(AM_MAKEFLAGS) dist \ 529## Make sure to remove the dists we created in the test build directory. 530 && rm -rf $(DIST_ARCHIVES) \ 531 && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ 532## Cater to parallel BSD make (see above). 533 && cd "$$am__cwd" \ 534 || exit 1 535 $(am__post_remove_distdir) 536 @(echo "$(distdir) archives ready for distribution: "; \ 537 list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ 538 sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' 539 540## Define distuninstallcheck_listfiles and distuninstallcheck separately 541## from distcheck, so that they can be overridden by the user. 542.PHONY: distuninstallcheck 543distuninstallcheck_listfiles = find . -type f -print 544## The 'dir' file (created by install-info) might still exist after 545## uninstall, so we must be prepared to account for it. The following 546## check is not 100% strict, but is definitely good enough, and even 547## accounts for overridden $(infodir). 548am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ 549 | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' 550distuninstallcheck: 551 @test -n '$(distuninstallcheck_dir)' || { \ 552 echo 'ERROR: trying to run $@ with an empty' \ 553 '$$(distuninstallcheck_dir)' >&2; \ 554 exit 1; \ 555 }; \ 556 $(am__cd) '$(distuninstallcheck_dir)' || { \ 557 echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ 558 exit 1; \ 559 }; \ 560 test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ 561 || { echo "ERROR: files left after uninstall:" ; \ 562 if test -n "$(DESTDIR)"; then \ 563 echo " (check DESTDIR support)"; \ 564 fi ; \ 565 $(distuninstallcheck_listfiles) ; \ 566 exit 1; } >&2 567 568## Define distcleancheck_listfiles and distcleancheck separately 569## from distcheck, so that they can be overridden by the user. 570.PHONY: distcleancheck 571distcleancheck_listfiles = find . -type f -print 572distcleancheck: distclean 573 @if test '$(srcdir)' = . ; then \ 574 echo "ERROR: distcleancheck can only run from a VPATH build" ; \ 575 exit 1 ; \ 576 fi 577 @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ 578 || { echo "ERROR: files left in build directory after distclean:" ; \ 579 $(distcleancheck_listfiles) ; \ 580 exit 1; } >&2 581endif %?TOPDIR_P% 582