X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Makefile.am;h=6d192d539cae1a65eb7e6ff4614fbab081d6a465;hb=9ae48df8e8eefbd30407cc1c8c19f912620ed3e0;hp=c78298a3a57f3a8cbef611432ca31b00325e4612;hpb=e3052ff7229db4317a5bead16bef69ea66fd1c85;p=platform%2Fupstream%2Fautomake.git diff --git a/Makefile.am b/Makefile.am index c78298a..6d192d5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,57 +1,141 @@ -bin_SCRIPTS = automake -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 depend.am dist-subd-top.am \ -dist-subd.am dist-vars.am dist.am footer.am header-vars.am \ -kr-vars.am libraries-vars.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-clean.am texi-version.am texinfos-vars.am texinfos.am \ -libraries-clean.am scripts-clean.am programs-clean.am data-clean.am \ -COPYING INSTALL install-sh mdate-sh mkinstalldirs texinfo.tex - -DIST_OTHER = automake.in - -# Gross. -DIST_SUBDIRS = samples/cpio/*Makefile.am +## Process this file with automake to create Makefile.in + +AUTOMAKE_OPTIONS = gnits 1.4 +MAINT_CHARSET = latin1 + +## We need `.' in SUBDIRS because we want `check' to build `.' before +## tests. +SUBDIRS = . m4 tests + +bin_SCRIPTS = automake aclocal +info_TEXINFOS = automake.texi + +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 + +dist_pkgdata_DATA = COPYING INSTALL texinfo.tex ansi2knr.c ansi2knr.1 \ +$(amfiles) + +## 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 --lang=none \ - --regex='/^@node[ \t]+\([^,]+\)/\1/' automake.texi - -# Some simple checks: -# * syntax check with perl4 and perl5. -# * make sure the scripts don't use 'true' -# * expect exactly two instance of '${...}' -# These are only really guaranteed to work on my machine. -maintainer-check: automake - @PERL@ -c -w automake - @if grep '^[^#].*true' $(srcdir)/[a-z]*.am; then \ - echo "can't use 'true' in GNU Makefile" 1>&2; \ - exit 1; \ +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. +installcheck-local: + 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 - @if test `fgrep '$${' $(srcdir)/[a-z]*.am | wc -l` -ne 2; then \ + +# 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 +## expect no instances of '${...}'. However, $${...} is ok, since that +## is a shell construct, not a Makefile construct. +## 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; \ - fi - if test -f /usr/local/bin/perl4.036; then \ - /usr/local/bin/perl4.036 -c -w automake; \ else :; fi - -automake: automake.in - CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status +## Make sure all invocations of mkinstalldirs are correct. + @if test `fgrep 'mkinstalldirs' $(srcdir)/[a-z]*.am | fgrep -v '$$(mkinstalldirs)' | wc -l` -ne 0; then \ + echo "found incorrect use of mkinstalldirs" 1>&2; \ + exit 1; \ + else :; fi +## Another syntax check, this time with Perl 4, if it exists. + @if $(SHELL) -c 'perl4.036 -v' >/dev/null 2>&1; then \ + perl4.036 -c -w automake; \ + perl4.036 -c -w aclocal; \ + else :; fi +## 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 - @if sed 1q NEWS | grep -e "$(VERSION)" > /dev/null; then :; else \ +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 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'`; \ + 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