source: trunk/essentials/sys-devel/automake-1.4/automake.info-3@ 3132

Last change on this file since 3132 was 3124, checked in by bird, 19 years ago

automake 1.4-p6

File size: 32.1 KB
Line 
1This is automake.info, produced by makeinfo version 4.1 from
2automake.texi.
3
4INFO-DIR-SECTION GNU admin
5START-INFO-DIR-ENTRY
6* automake: (automake). Making Makefile.in's
7END-INFO-DIR-ENTRY
8
9INFO-DIR-SECTION Individual utilities
10START-INFO-DIR-ENTRY
11* aclocal: (automake)Invoking aclocal. Generating aclocal.m4
12END-INFO-DIR-ENTRY
13
14 This file documents GNU automake 1.4-p6
15
16 Copyright (C) 1995, 96, 97, 98 Free Software Foundation, Inc.
17
18 Permission is granted to make and distribute verbatim copies of this
19manual provided the copyright notice and this permission notice are
20preserved on all copies.
21
22 Permission is granted to copy and distribute modified versions of
23this manual under the conditions for verbatim copying, provided that
24the entire resulting derived work is distributed under the terms of a
25permission notice identical to this one.
26
27 Permission is granted to copy and distribute translations of this
28manual into another language, under the above conditions for modified
29versions, except that this permission notice may be stated in a
30translation approved by the Foundation.
31
32
33File: automake.info, Node: Gnits, Next: Cygnus, Prev: Conditionals, Up: Top
34
35The effect of `--gnu' and `--gnits'
36***********************************
37
38 The `--gnu' option (or `gnu' in the `AUTOMAKE_OPTIONS' variable)
39causes `automake' to check the following:
40
41 * The files `INSTALL', `NEWS', `README', `COPYING', `AUTHORS', and
42 `ChangeLog' are required at the topmost directory of the package.
43
44 * The options `no-installman' and `no-installinfo' are prohibited.
45
46 Note that this option will be extended in the future to do even more
47checking; it is advisable to be familiar with the precise requirements
48of the GNU standards. Also, `--gnu' can require certain non-standard
49GNU programs to exist for use by various maintainer-only targets; for
50instance in the future `pathchk' might be required for `make dist'.
51
52 The `--gnits' option does everything that `--gnu' does, and checks
53the following as well:
54
55 * `make dist' will check to make sure the `NEWS' file has been
56 updated to the current version.
57
58 * The file `COPYING.LIB' is prohibited. The LGPL is apparently
59 considered a failed experiment.
60
61 * `VERSION' is checked to make sure its format complies with Gnits
62 standards.
63
64 * If `VERSION' indicates that this is an alpha release, and the file
65 `README-alpha' appears in the topmost directory of a package, then
66 it is included in the distribution. This is done in `--gnits'
67 mode, and no other, because this mode is the only one where version
68 number formats are constrained, and hence the only mode where
69 Automake can automatically determine whether `README-alpha' should
70 be included.
71
72 * The file `THANKS' is required.
73
74
75File: automake.info, Node: Cygnus, Next: Extending, Prev: Gnits, Up: Top
76
77The effect of `--cygnus'
78************************
79
80 Cygnus Solutions has slightly different rules for how a
81`Makefile.in' is to be constructed. Passing `--cygnus' to `automake'
82will cause any generated `Makefile.in' to comply with Cygnus rules.
83
84 Here are the precise effects of `--cygnus':
85
86 * Info files are always created in the build directory, and not in
87 the source directory.
88
89 * `texinfo.tex' is not required if a Texinfo source file is
90 specified. The assumption is that the file will be supplied, but
91 in a place that Automake cannot find. This assumption is an
92 artifact of how Cygnus packages are typically bundled.
93
94 * `make dist' will look for files in the build directory as well as
95 the source directory. This is required to support putting info
96 files into the build directory.
97
98 * Certain tools will be searched for in the build tree as well as in
99 the user's `PATH'. These tools are `runtest', `expect',
100 `makeinfo' and `texi2dvi'.
101
102 * `--foreign' is implied.
103
104 * The options `no-installinfo' and `no-dependencies' are implied.
105
106 * The macros `AM_MAINTAINER_MODE' and `AM_CYGWIN32' are required.
107
108 * The `check' target doesn't depend on `all'.
109
110 GNU maintainers are advised to use `gnu' strictness in preference to
111the special Cygnus mode.
112
113
114File: automake.info, Node: Extending, Next: Distributing, Prev: Cygnus, Up: Top
115
116When Automake Isn't Enough
117**************************
118
119 Automake's implicit copying semantics means that many problems can be
120worked around by simply adding some `make' targets and rules to
121`Makefile.in'. Automake will ignore these additions.
122
123 There are some caveats to doing this. Although you can overload a
124target already used by Automake, it is often inadvisable, particularly
125in the topmost directory of a non-flat package. However, various useful
126targets have a `-local' version you can specify in your `Makefile.in'.
127Automake will supplement the standard target with these user-supplied
128targets.
129
130 The targets that support a local version are `all', `info', `dvi',
131`check', `install-data', `install-exec', `uninstall', and the various
132`clean' targets (`mostlyclean', `clean', `distclean', and
133`maintainer-clean'). Note that there are no `uninstall-exec-local' or
134`uninstall-data-local' targets; just use `uninstall-local'. It doesn't
135make sense to uninstall just data or just executables.
136
137 For instance, here is one way to install a file in `/etc':
138
139 install-data-local:
140 $(INSTALL_DATA) $(srcdir)/afile /etc/afile
141
142 Some targets also have a way to run another target, called a "hook",
143after their work is done. The hook is named after the principal target,
144with `-hook' appended. The targets allowing hooks are `install-data',
145`install-exec', `dist', and `distcheck'.
146
147 For instance, here is how to create a hard link to an installed
148program:
149
150 install-exec-hook:
151 ln $(bindir)/program $(bindir)/proglink
152
153
154File: automake.info, Node: Distributing, Next: Future, Prev: Extending, Up: Top
155
156Distributing `Makefile.in's
157***************************
158
159 Automake places no restrictions on the distribution of the resulting
160`Makefile.in's. We still encourage software authors to distribute
161their work under terms like those of the GPL, but doing so is not
162required to use Automake.
163
164 Some of the files that can be automatically installed via the
165`--add-missing' switch do fall under the GPL; examine each file to see.
166
167
168File: automake.info, Node: Future, Next: Macro and Variable Index, Prev: Distributing, Up: Top
169