Hash :
0ffa422b
Author :
Date :
2001-05-03T08:21:05
Case insensitive FS choke on Automake/ vs automake. Reported by Tim Van Holder. * Automake/: Move in... * lib/: this new directory.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
## 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 lib tests
bin_SCRIPTS = automake aclocal
info_TEXINFOS = automake.texi
amdir = $(pkgdatadir)/am
dist_am_DATA = ansi2knr.am check.am clean-hdr.am clean.am compile.am \
configure.am data.am dejagnu.am depend.am depend2.am distdir.am \
ext-compile.am footer.am header-vars.am header.am install.am java.am \
lex.am library.am libs.am libtool.am lisp.am ltlib.am ltlibrary.am \
mans-vars.am mans.am multilib.am program.am progs.am python.am \
remake-hdr.am scripts.am subdirs.am tags.am texi-vers.am texibuild.am \
texinfos.am yacc.am
dist_pkgdata_DATA = COPYING INSTALL texinfo.tex ansi2knr.c ansi2knr.1
## 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 py-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 = --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
##
# 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 fgrep '\$${' $(srcdir)/[a-z]*.am | \
fgrep -v '$$$$'; then \
echo "Found too many uses of '\$${' in the lines above." 1>&2; \
exit 1; \
else :; fi
## Make sure `rm' is called with `-f'.
@if egrep '\<rm ([^-]|\-[^f ]*\>)' \
$(srcdir)/[a-z]*.am $(srcdir)/tests/*.test | \
fgrep -v '##'; then \
echo "Suspicious 'rm' invocation." 1>&2; \
exit 1; \
else :; fi
## Make sure all invocations of mkinstalldirs are correct.
@if fgrep -n 'mkinstalldirs' $(srcdir)/[a-z]*.am | \
fgrep -v '$$(mkinstalldirs)'; then \
echo "Found incorrect use of mkinstalldirs in the lines above" 1>&2; \
exit 1; \
else :; fi
## We never want to use "undef", only "delete", but for $/.
@if grep -n -w undef $(srcdir)/automake.in | \
fgrep -v 'undef $$/'; then \
echo "Found undef in automake.in; use delete instead" 1>&2; \
exit 1; \
fi
## We never want split (/ /,...), only split (' ', ...).
@if fgrep -n 'split (/ /' $(srcdir)/automake.in; then \
echo "Found bad split in the lines above." 1>&2; \
exit 1; \
fi
## Look for cd within backquotes without CDPATH=:
@if grep -n '^[^#]*` *cd ' $(srcdir)/automake.in $(srcdir)/*.am \
$(srcdir)/m4/*.m4; then \
echo "Consider setting CDPATH in the lines above" 1>&2; \
exit 1; \
fi
## Using @_ in a scalar context is most probably a programming error.
@if grep -Hn '[^) ] *= *@_' $(srcdir)/automake.in; then \
echo "Using @_ in a scalar context in the lines above." 1>&2; \
exit 1; \
fi
## Forbid using parens with `local' to ease counting.
@if grep '^[ \t]*local *(' $(srcdir)/automake.in; then \
echo "Don't use \`local' with parens: use several \`local' above." >&2; \
exit 1; \
fi
## Up to now we manage to limit to 1 use of local.
@locals=`grep -c '^[ \t]*local [^*]' $(srcdir)/automake.in`; \
case $$locals in \
[0] ) \
echo "Wow, congrats! There are no \`local' now!." >&2; \
echo "Please update Makefile.am (maintainer-check)." >&2; \
exit 1; \
;; \
1 ) ;; \
* ) \
echo "Too many \`local'! Are you sure you need $$locals of them?" >&2; \
echo "Up to now 1 was enough." >&2; \
exit 1; \
;; \
esac
# 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 distcheck
@if sed 1q $(srcdir)/NEWS | grep -e "$(VERSION)" > /dev/null; then :; else \
echo "NEWS not updated; not releasing" 1>&2; \
exit 1; \
fi
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
## Program to use to fetch files.
WGET = wget
## Files that we fetch and which we compare against.
## FIXME should be a lot more here
FETCHFILES = config.guess config.sub
## Fetch the latest versions of files we care about.
fetch:
rm -rf Fetchdir > /dev/null 2>&1
mkdir Fetchdir
## If a get fails then that is a problem.
(cd Fetchdir && \
$(WGET) ftp://ftp.gnu.org/gnu/config/config.guess; \
$(WGET) ftp://ftp.gnu.org/gnu/config/config.sub)
## Don't exit after test because we want to give as many errors as
## possible.
@stat=0; for file in $(FETCHFILES); do \
if diff $(srcdir)/$$file Fetchdir/$$file > /dev/null 2>&1; then :; \
else \
stat=1; \
echo "install Fetchdir/$$file into srcdir and commit"; \
fi; \
done; exit $$stat