X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Makefile.am;h=6d192d539cae1a65eb7e6ff4614fbab081d6a465;hb=9ae48df8e8eefbd30407cc1c8c19f912620ed3e0;hp=3231fb43ba1fc60b0ab16f459e63c85f8eb99710;hpb=bcb69714ae87264adad7b427cbf9126a40844648;p=platform%2Fupstream%2Fautomake.git diff --git a/Makefile.am b/Makefile.am index 3231fb4..6d192d5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,60 +1,86 @@ ## Process this file with automake to create Makefile.in -AUTOMAKE_OPTIONS = gnits +AUTOMAKE_OPTIONS = gnits 1.4 MAINT_CHARSET = latin1 -PERL = @PERL@ -SUBDIRS = tests m4 +## We need `.' in SUBDIRS because we want `check' to build `.' before +## tests. +SUBDIRS = . m4 tests bin_SCRIPTS = automake aclocal info_TEXINFOS = automake.texi -# SUBDIRS = intl po -# CONFIG_HEADER = config.h -pkgdata_DATA = clean-kr.am clean.am compile-kr.am compile-vars.am \ -compile.am data.am dejagnu.am depend.am depend2.am dist-vars.am footer.am \ -header.am header-vars.am kr-extra.am libraries.am library.am \ -mans-vars.am program.am programs.am remake-hdr.am remake-subd.am \ -remake.am scripts.am subdirs.am tags.am tags-subd.am tags-clean.am \ -texi-version.am texinfos-vars.am texinfos.am libraries-clean.am \ -programs-clean.am data-clean.am COPYING INSTALL texinfo.tex ansi2knr.c \ -ansi2knr.1 aclocal.m4 lisp.am lisp-clean.am +amfiles = clean-hdr.am clean-kr.am clean.am comp-vars.am compile.am \ +data-clean.am data.am dejagnu.am depend.am depend2.am dist.am \ +dist-vars.am footer.am header-vars.am header.am java-clean.am java.am \ +kr-extra.am library.am libs-clean.am libs.am libtool.am lisp-clean.am \ +lisp.am ltlib-clean.am ltlib.am ltlibrary.am mans-vars.am mans.am \ +multilib.am program.am progs-clean.am progs.am remake-hdr.am remake.am \ +scripts.am subdirs.am tags-clean.am tags.am texi-vers.am texinfos.am -## These must all be executable when installed. -pkgdata_SCRIPTS = config.guess config.sub install-sh interlock mdate-sh \ -mkinstalldirs elisp-comp ylwrap +dist_pkgdata_DATA = COPYING INSTALL texinfo.tex ansi2knr.c ansi2knr.1 \ +$(amfiles) -CLEANFILES = automake aclocal +## These must all be executable when installed. However, if we use +## _SCRIPTS, then the program transform will be applied, which is not +## what we want. So we make them executable by hand. +scriptdir = $(pkgdatadir) +dist_script_DATA = config.guess config.sub install-sh mdate-sh missing \ +mkinstalldirs elisp-comp ylwrap acinstall depcomp compile + +install-data-hook: + @$(POST_INSTALL) + @for prog in $(dist_script_DATA); do \ + echo " chmod +x $(DESTDIR)$(scriptdir)/$$prog"; \ + chmod +x $(DESTDIR)$(scriptdir)/$$prog; \ + done + +TAGS_FILES = automake.in aclocal.in $(amfiles) # The following requires a fixed version of the Emacs 19.30 etags. -ETAGS_ARGS = automake.in aclocal.in --lang=none \ - --regex='/^@node[ \t]+\([^,]+\)/\1/' automake.texi -TAGS_DEPENDENCIES = automake.in aclocal.in automake.texi +ETAGS_ARGS = --lang=none \ + --regex='/^@node[ \t]+\([^,]+\)/\1/' $(srcdir)/automake.texi +TAGS_DEPENDENCIES = automake.texi ## `test -x' is not portable. So we use Perl instead. If Perl ## doesn't exist, then this test is meaningless anyway. -# Check to make sure some installed files are executable. installcheck-local: - $(PERL) -e "exit ! -x '$(pkgdatadir)/config.guess';" - $(PERL) -e "exit ! -x '$(pkgdatadir)/config.sub';" - $(PERL) -e "exit ! -x '$(pkgdatadir)/install-sh';" - $(PERL) -e "exit ! -x '$(pkgdatadir)/mdate-sh';" - $(PERL) -e "exit ! -x '$(pkgdatadir)/mkinstalldirs';" + for file in $(dist_script_DATA); do \ + $(PERL) -e "exit ! -x '$(pkgdatadir)/$$file';" || exit 1; \ + done + +EXTRA_DIST = ChangeLog.1996 ChangeLog.1998 + +################################################################ +## +## Everything past here is useful to the maintainer, but probably not +## to anybody else +## + +# Run the test suite using Perl 4. +perl4-check: automake aclocal + @if $(SHELL) -c 'perl4.036 -v' > /dev/null 2>&1; then \ + $(MAKE) PERL=perl4.036 check; \ + else :; fi # Some simple checks, and then ordinary check. These are only really # guaranteed to work on my machine. maintainer-check: automake aclocal +## This check avoids accidental configure substitutions in the source. +## There are exactly 7 lines that should be modified. This works out +## to 22 lines of diffs. + @if test `diff $(srcdir)/automake.in automake | wc -l` -ne 22; then \ + echo "found too many diffs between automake.in and automake"; 1>&2; \ + diff -c $(srcdir)/automake.in automake; \ + exit 1; \ + fi ## Syntax check with default Perl (on my machine, Perl 5). $(PERL) -c -w automake $(PERL) -c -w aclocal -## Ensure `true' is never used; I've accidentally used it before. - @if grep '^[^#].*true' $(srcdir)/[a-z]*.am; then \ - echo "can't use 'true' in GNU Makefile" 1>&2; \ - exit 1; \ - else :; fi ## expect no instances of '${...}'. However, $${...} is ok, since that ## is a shell construct, not a Makefile construct. - @if test `fgrep '$${' $(srcdir)/[a-z]*.am | fgrep -v '$$$$' | wc -l` -ne 0; then \ +## The backslash in `$${' is needed for some versions of bash. + @if test `fgrep '\$${' $(srcdir)/[a-z]*.am | fgrep -v '$$$$' | wc -l` -ne 0; then \ echo "found too many uses of '\$${'" 1>&2; \ exit 1; \ else :; fi @@ -68,21 +94,48 @@ maintainer-check: automake aclocal perl4.036 -c -w automake; \ perl4.036 -c -w aclocal; \ else :; fi - $(MAKE) check +## We never want to use "undef", only "delete". + @if grep undef $(srcdir)/automake.in > /dev/null 2>&1; then \ + echo "Found undef in automake.in; use delete instead" 1>&2; \ + exit 1; \ + fi +## We never want split (/ /,...), only split (' ', ...). + @if fgrep 'split (/ /' $(srcdir)/automake.in > /dev/null 2>&1; then \ + echo "Found bad split in automake.in" 1>&2; \ + exit 1; \ + fi +## Look for cd within backquotes without CDPATH=: + @if grep '` *cd ' $(srcdir)/automake.in $(srcdir)/*.am \ + $(srcdir)/m4/*.m4; then \ + echo "Consider setting CDPATH in the lines above" 1>&2; \ + exit 1; \ + fi # Tag before making distribution. Also, don't make a distribution if # checks fail. Also, make sure the NEWS file is up-to-date. -cvs-dist: maintainer-check +cvs-dist: maintainer-check perl4-check distcheck @if sed 1q $(srcdir)/NEWS | grep -e "$(VERSION)" > /dev/null; then :; else \ echo "NEWS not updated; not releasing" 1>&2; \ exit 1; \ fi - cvs -q tag `echo "Release-$(VERSION)" | sed 's/\./-/g'` + cd $(srcdir) && cvs -q tag `echo "Release-$(VERSION)" | sed 's/\./-/g'` $(MAKE) dist cvs-diff: thisver=`echo "Release-$(VERSION)" | sed 's/\./-/g'`; \ - prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \ + if test -z "$$OLDVERSION"; then \ + prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \ + else prevno="$$OLDVERSION"; fi; \ prevver=Release-`echo $$prevno | sed 's/\./-/g'`; \ cvs -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \ > $(PACKAGE)-$$prevno-$(VERSION).diff + +## Check our path lengths. +path-check: distdir + (cd $(distdir) && \ +## FIXME there's got to be a better way! pathchk should take the list +## of files on stdin, at least. + find . -print | xargs pathchk -p); \ + status=$$?; \ + chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir); \ + exit $$status