1 ================================================================
4 * This file attempts to describe the rules to use when hacking
7 * Don't put this file into the distribution. Don't mention it in the
11 ================================================================
14 * If you incorporate a change from somebody on the net:
15 First, if it is a large change, you must make sure they have signed the
16 appropriate paperwork.
17 Second, be sure to add their name and email address to THANKS
19 * If a change fixes a test, mention the test in the ChangeLog entry.
21 * If somebody reports a new bug, mention his name in the ChangeLog entry
22 and in the test case you write. Put him into THANKS.
24 * The correct response to most actual bugs is to write a new test case
25 which demonstrates the bug. Then fix the bug, re-run the test suite,
26 and check everything in.
28 * Some files in the automake package are not owned by automake. These
29 files should never be edited here. These files are COPYING, INSTALL,
30 ansi2knr.1, ansi2knr.c, config.guess config.sub, install-sh, mdate-sh,
31 missing, mkinstalldirs, texinfo.tex
33 * Changes other than bug fixes must be mentioned in NEWS
36 ================================================================
39 * We've adopted the convention that internal AC_SUBSTs should be
40 named with a leading `_am_', and internally generated targets should
41 be named with a leading `_am-'. This convention is very new
42 (as of Feb 7 2001) and so it isn't yet universally used. But all
43 new code should use it.
46 ================================================================
49 * Always use $(...) and not ${...}
51 * Use `:', not `true'. Use `exit 1', not `false'.
53 * Use `##' comments liberally. Comment anything even remotely
56 * Never use basename or dirname. Instead use sed
58 * If you run `cd' within back-quotes, make sure you set `CDPATH=:',
59 otherwise the directory name may be printed, depending on CDPATH.
61 * For install and uninstall rules, if a loop is required, it should be
62 silent. Then the body of the loop itself should print each
63 "important" command it runs. The printed commands should be preceded
67 ================================================================
68 = Editing automake.in and aclocal.in
70 * Follow existing indentation style.
75 ================================================================
78 * Use "make check" and "make maintainer-check" liberally
80 * Make sure each test file is executable
83 ================================================================
86 * Fetch new versions of the files that are maintained by the FSF.
87 Commit. Unfortunately you need an FSF account to do this.
88 (You can also use `make fetch', but that is still woefully incomplete.)
90 * Update NEWS. For an alpha release, update README-alpha.
92 * Update the version number in configure.in.
93 (The idea is that every other alpha number will be a net release.
94 The repository will always have its own "odd" number so we can easily
95 distinguish net and repo versions.)
97 * Configure, build, and install.
99 * Run aclocal, automake, and autoconf.
103 * Run `make cvs-dist'
105 * Put new release on ftp site and send announcement.
106 (If not an alpha, announcement must also go to FSF.)
108 * Update version number in configure.in to next alpha number.
109 Re-run autoconf and commit.