From: Tom Tromey Date: Wed, 22 Nov 1995 07:21:02 +0000 (+0000) Subject: more X-Git-Tag: Release-0-25~242 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=462fe672c4755e96fe4f46bd54de14e82675baf2;p=automake.git more --- diff --git a/TODO b/TODO index d4955396..800cc47c 100644 --- a/TODO +++ b/TODO @@ -1,9 +1,9 @@ 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 @@ -11,7 +11,11 @@ library, and a way to install header files. It would also be nice to 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? @@ -36,6 +40,8 @@ clean.am: clean: if all the macros are empty, the rule expands to: 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 @@ -139,3 +145,8 @@ Automatic dependency generation: 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? diff --git a/automake.texi b/automake.texi index 2532a6e5..9d2e74f4 100644 --- a/automake.texi +++ b/automake.texi @@ -121,6 +121,7 @@ AutoMake's convenience. * Install:: What gets installed * Distribution:: What gets distributed * Tags:: TAGS files +* Dependencies:: Automatic dependency tracking * Extending:: If the defaults aren't enough @end menu @@ -432,6 +433,32 @@ which contain taggable source that @code{etags} does not understand. 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 @@ -483,13 +510,6 @@ notices that a @code{Makefile.in} is out of date. 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 @@ -501,5 +521,5 @@ Better error checking would be good. 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...