It would be good to check some parts of GNU standards:
- install-sh must exist
- mkinstalldirs must exist
+ install-sh must exist somewhere (maybe need way to find top srcdir?)
+ mkinstalldirs must exist somewhere
Maybe it should be possible to disable all GNU-specific things with
---no-gnu? --ignore-standards?
+--no-gnu? --ignore-standards? But what? And why?
Think about modifications so automake can work with a standalone
library, eg readline. For instance we need a way to install a
figure out some good way to deal with shared libs.
Allow ".h" files to appear in blah_SOURCES; just write them out of
-existence.
+existence. [ This is nixed for now because of the auto-dependency
+tracking stuff ]
+
+separate install-data and install-exec. "install" doesn't need to be
+"::" rule any more
should have "all:: info" in texinfos.am?
which should be fixed
Consider automating stamp-vti stuff. What does GNITS say about this?
+What about this case: multiple .texi files (and thus multiple
+version.texi's), and a filesystem with short names? What to do?
Consider rewriting recursive rules to use static value of SUBDIRS:
SUBDIRS = x y z
Maybe it would be nice to support dependency computation with tools
other than gcc.
+
+Maybe make --use-deps the default, and have --included-deps suppress
+it?
+
+Rename --included-deps to --insert-deps?
* Install:: What gets installed
* Distribution:: What gets distributed
* Tags:: TAGS files
+* Dependencies:: Automatic dependency tracking
* Extending:: If the defaults aren't enough
@end menu
Texinfo documentation)
+@node Dependencies
+@section Automatic dependency tracking
+
+As a developer it is often onerous to continually update the
+@file{Makefile.in} whenever the include-file dependencies change in a
+project. @code{automake} supplies a way to automatically track
+dependency changes, and distribute the dependencies in the generated
+@file{Makefile.in}.
+
+Currently this support requires the use of @code{GNU make} and
+@code{gcc}. It might become possible in the future to supply a
+different dependency generating program, if there is enough demand.
+
+In order to use this mode, when developing your package, always run
+@code{automake} with the @samp{--use-deps} option. This will cause
+dependency generating code to be inserted into your @file{Makefile.in}.
+
+When you decide to make a distribution, the @samp{dist} target will
+re-run @code{automake} with the @samp{--include-deps} option. This
+causes the previously generated dependencies to be inserted into the
+generated @file{Makefile.in}, and thus into the distribution.
+
+The interface here might change as well. In particular, dependency
+generation might become the default.
+
+
@node Extending
@section When AutoMake Isn't Enough
Here are some things that might happen in the future:
@itemize @bullet
-@item
-It might be nice to have @code{automake} automatically compute
-dependencies, and record that information in the shipped
-@file{Makefile.in}. I don't have a good mechanism for doing this yet,
-but I'm moving towards a solution requiring @code{GNU make} and
-@code{gcc}, using the @samp{-MMD} option.
-
@item
Better error checking would be good.
@end itemize
NOTES:
-* Need section on operation of automake: it read Makefile.am and COPIES
+* Need section on operation of automake: it reads Makefile.am and COPIES
the contents...