File: Makefile.am

package info (click to toggle)
automake 1.4-8
  • links: PTS
  • area: main
  • in suites: potato
  • size: 2,264 kB
  • ctags: 25
  • sloc: perl: 5,450; sh: 4,857; ansic: 404; makefile: 184
file content (136 lines) | stat: -rw-r--r-- 5,151 bytes parent folder | download
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
## 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
man_MANS = automake.1 aclocal.1

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-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

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)
script_DATA = config.guess config.sub install-sh mdate-sh missing \
mkinstalldirs elisp-comp ylwrap acinstall

install-data-hook:
	@for prog in $(script_DATA); do \
	  chmod +x $(scriptdir)/$$prog; \
	done

EXTRA_DIST = acinstall $(pkgdata_DATA) $(script_DATA) $(man_MANS)

# 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

## `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 $(script_DATA); do \
	  $(PERL) -e "exit ! -x '$(pkgdatadir)/$$file';" || exit 1; \
	done

################################################################
##
## 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 8 lines that should be modified.  This works out
## to 24 lines of diffs.
	@if test `diff $(srcdir)/automake.in automake | wc -l` -ne 24; 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;				\
	else :; fi
## 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

# 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 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
	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=$$?; \
	  rm -rf $(distdir); \
	  exit $$status

## Just get the .am files into TAGS.  We don't really care too much if
## any interesting tags show up.
ETAGS_ARGS = $(amfiles)
TAGS_DEPENDENCIES = $(ETAGS_ARGS)