Avoid loops when installing; instead unroll them in automake
-Franc,ois> * ansi2knr was uselessly compiled, and it might be an
-Franc,ois> Automake problem:
-
Some long-term projects:
* if $(FOO) is used somewhere, ensure FOO is defined, either by
user or by automake if possible
in an explicitly written rule, you should emit the corresponding
Makefile variables automatically.
-add support for Makefile.tmpl that is auto-included in every
-Makefile.am. That makes it easier to do some non-std thing in every
-subdirectory.
+Configuring in the large:
+* add support for Makefile.tmpl that is auto-included in every
+ Makefile.am. That makes it easier to do some non-std thing in every
+ subdirectory.
+* allow hierarchy of dirs to share one aclocal.m4
+ How?
consider printing full file name of Makefile.am or configure.in when
giving error. This would help for very large trees with many
configure.in). Then built man pages (eg) could automatically be
omitted from the distribution.
-Consider using libfoo_SOURCES, etc, for libraries. From Gord
-Matzigkeit. There is a patch.
-
Idea from Joerg-Martin Schwarz: allow passing different -D flags to
different compiles. This can be done, but with the restriction that a
.c cannot appear in 2 different "objects" (programs/libraries)
Consider: "cvs" option adds some cvs-specific rules?
-Automake: devo/inet/Makefile.am has "all-local". "install" depends on
-"all", but the local installs get run before the stuff in "all". Gross.
-
Right now, targets generated internally (eg "install") are not
overridable by user code. This should probably be possible, even
though it isn't very important. This could be done by generating all
Things to finish libtool support:
* Handle grody compilation issue
+ Namely: some objects require a different compilation rule
* Handle install changes
* Handle clean changes
* New definition for LINK
-DJM wants ``LINKS'' variable; list of things to link together after
+djm wants ``LINKS'' variable; list of things to link together after
install. In BSD environment, use:
LINKS = from1 to1 from2 to2 ...
* 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)
Omit program transform vars from header if no program installed. This
is currently pretty hard to do. (But with beautification code it
would probably be easy)
package utility on each platform. There are probably 3 or 4 of these
(sysv, solaris?, aix?)
+tcl/unix/Makefile.in has some code to generate a Solaris package.
+
+Automake probably can't do all of this on its own. A new tool might
+be a better idea
+
================================================================
A tool to guess what the local Makefile.am should look like:
+++ /dev/null
-## --------------------------- ##
-## Check for a working fnmatch ##
-## --------------------------- ##
-
-# serial 1
-
-# @defmac AC_FUNC_FNMATCH
-# @maindex FUNC_FNMATCH
-# @ovindex LIBOBJS
-# If the @code{fnmatch} function is not available, or does not work
-# correctly (like the one on SunOS 5.4), add @samp{fnmatch.o} to output
-# variable @code{LIBOBJS}.
-# @end defmac
-
-AC_DEFUN(AM_FUNC_FNMATCH,
-[AC_MSG_CHECKING(for working fnmatch)
-AC_CACHE_VAL(am_cv_func_fnmatch,
-# Some versions of Solaris or SCO have broken fnmatch() functions!
-# So we run a test program. If we're cross-compiling, take no chance.
-AC_TRY_RUN([main() { exit (fnmatch ("a*", "abc", 0) != 0); }],
-am_cv_func_fnmatch=yes, am_cv_func_fnmatch=no, am_cv_func_fnmatch=no))
-test $am_cv_func_fnmatch = yes || LIBOBJS="$LIBOBJS fnmatch.o"
-AC_MSG_RESULT($am_cv_func_fnmatch)
-])