Top priorities:
* finish configure.in scanning. must do something with C files found
must handle subdir case correctly (don't reinit libsources each time)
* Use info_TEXINFOS
* Figure out how to handle MANS:
* use man_MANS? Or man1_MANS, man2_MANS, etc?
* Must rewrite am_install_var. Should break into multiple functions.
This will allow the callers to be a little smarter.
* am_error should use printf-style arguments (for eventual gettext scheme)
uninstall and pkg-dirs should rm -rf the dir.
In general most .am files should be merged into automake. For
instance all the "clean" targets could be merged by keeping lists of
things to be removed. This would be a lot nicer looking. Note that
the install targets probably should not be merged; it is sometimes
useful to only install a small part.
Clean up the output:
* Order rules sensibly
* Ensure every line has a purpose. Omit unused stuff
* Eliminate extraneous rules when possible (eg 'install-am' stuff)
* Make sure vertical spacing is correct
* pretty-print targets
* regularize how backslash-newline is done. Just one space between text
and backslash should be the rule. Update makefile-mode to allow this.
(set column to 0, probably)
Look in configure to see what goes in LIBOBJS. Recognize all automake
macros that do this. And look for:
LIBOBJS="x.o $LIBOBJS y.o"
Need OTHER_SOURCES to hold sources whose objects end up in eg LIBOBJS.
Dependency tracking should work here. Maybe if it doesn't exist it
should be generated automatically by scanning the directory. (yes)
"@kr@" is a hack that should be fixed. And it should be possible to
have ansi2knr in just one place in a package. Jim Meyering says just
rely on configure to make links as appropriate. Not sure how I feel
about this.
Consider automatic support for ".y" files.
[ not right now; it is nice to be able to print the number of
expected conflicts, and we can't handle that ]
Write autoconf macro to do all work necessary for automake. Eg define
PACKAGE, VERSION, etc.
Change glob pattern to look for to '*/Makefile*.am', so that gettext's
po directory can use a Makefile.in.am (and generate Makefile.in.in)
Should 'distclean' remove $(SCRIPTS)?
Should 'maintainer-clean' do "rm -rf .deps"?
Should look for clean-local targets in Makefile.am.
Think about writing a small tool to guess what the local Makefile.am
should look like.
It might be cool to generate .texi dependencies by grepping for
@include. (If done, it should be done the same way C dependency is
done)
It would be good to check some parts of GNU standards. Already check
for install-sh and mkinstalldirs. What else is required to be in
package by GNU standards or by automake?
Some things for --strictness=gnits:
* "cd $(foo); something" is an error in a rule. Should be:
"cd $(foo) && something"
* check for version number in NEWS file.
Maybe it should be possible to disable all GNU-specific things with
--no-gnu? --ignore-standards? But what? And why?
Allow ".h" files to appear in blah_SOURCES; just write them out of
existence. [ This is nixed for now because of the auto-dependency
tracking stuff ]
automake.in: should ".cc" really -> ".$(kr)o"? This doesn't really
seem right, but maybe it is so names can be rewritten uniformly? Must
check
look in configure.in's AC_OUTPUT command and include those files in
distribution. Or consider new CONFIGURED_FILES macro that lists files
generated by config.status.
Auto-distribute "ChangeLog.[0-9]+"?
consider auto-including any file that matches "*.in".
[ no: po/Makefile.in shouldn't be included ]
must look at mkid to see how it works (for subdir usage)
[ right now, it doesn't. i don't see a simple fix right now ]
Internationalize. [ gettext doesn't have the necessary machinery yet ]
write test suite
Fran