Merged from user-dep-gen-branch.
[platform/upstream/automake.git] / TODO
1 * Document why putting @FOO@ in _SOURCES doesn't work.
2   Make it an error when the user tries to do this
3   This must be done for 1.5
4
5 * if automake -a, and dangling links exist, automake should
6   remove and reinstall
7
8 * add a way to require C++ support even when no apparent C++ code
9   exists.  Likewise for other langs.
10
11 * in depend2.am, in specialization case, what if @SOURCE@ is found
12   in srcdir?  We can't depend on $<!  We must search explicitly.
13
14 * Add a way to say that foo/bar.h should be installed as
15   $(includedir)/foo/bar.h without introducing a new dir var
16
17 * distcheck should make sure that each file that uses _() is
18   listed in POTFILES.in
19   From Jim Meyering:
20     # Verify that all source files using _() are listed in po/POTFILES.in.
21     po-check:
22             grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1
23             grep -E -l '\b_\(' lib/*.c src/*.c | sort > $@-2
24             diff -u $@-1 $@-2
25             rm -f $@-1 $@-2
26
27 * support prog_LIBS as override for LIBS
28
29 * serious bug.  this doesn't work:
30         .c.o: ; ...
31         foo.o: sub/foo.c
32   why did I think it did work?
33
34 * Sometimes we can warn about a missing `compile' script twice.
35
36 * A target named `INSTALL' will screw things up.
37   It shouldn't.
38
39 * Scan configure.in using the same trick that autoheader uses.
40   This will be much more reliable.
41
42 * Test subdir-objects option with yacc, lex, ansi2knr
43   Our locking scheme won't prevent a parallel make from losing
44   if there are two `bar.o' files and the timing is just right
45   This only happens with parallel make and no-`-c -o' compiler,
46   so it probably isn't very important
47   `-c -o' when doing libtool
48   try to find a losing compiler and see if it really works.
49   (actually: hack config.cache and do it)
50
51 * We're using `$<' in explicit rules when using per-exe flags
52   per-exe flags don't work for CPPFLAGS/YFLAGS/LFLAGS.  Fix.
53   LIBOBJS shouldn't be used when there are per-exe flags (?)
54
55 * Need a way to pass flags to makeinfo
56   esp --no-split
57
58 * test `make clean' with subdir-objects
59
60 * Test nodist_SOURCES with lex, yacc, etc.
61
62 * Support subdir-objects with fortran
63
64 * Allow creation of Java .zip/.jar files in natural way
65   If you are building a compiled Java library, then the .zip/.jar
66   ought to be made automatically.
67
68 * Run automake before libtool.  It will report an error but
69   still won't put the file into the disty.  This is wrong.
70   From Mark H Wilkinson <mhw@kremvax.demon.co.uk>
71
72 * CFLAGS only defined if C source seen
73   but really it should be a configure variable, shouldn't it?
74   There are other examples of this
75
76 * in gnu/gnits mode, give error if Makefile.am overrides a user
77   variable like CFLAGS.
78
79 * If we see `foo.o' in LIBOBJS, and we've seen AC_OBJEXT, then complain.
80
81 * using "include" inside a conditional doesn't currently
82   work properly.
83
84 * examine possibility of using any character in a macro name
85   and rewriting names automatically.  this means we must rewrite
86   all references as well.
87
88 * AM_CONFIG_HEADER might generate the wrong stamp file names
89   when given multiple headers.  Write a test.
90
91 * Currently don't correctly handle multiple inputs to a config header.
92
93 * header stamp files still in wrong dirs.
94   stamp-h.in must be in dir with h.in file
95   stamp-h must be in dir with output file
96
97 * foo=bar
98   if cond
99   foo += joe
100   endif
101   ... this ought to work.  The fix is probably complicated
102
103 * `distcheck' and `dist' should depend on `all'
104
105 * Add code to generate foo-config script like gnome, gtk
106
107 * `DEFS += foo' won't work.
108   That's because DEFS is defined in header-vars.am, which is read
109   after the user's Makefile.am.
110   This will be a problem for any macro defined internally
111     [ fixing this will probably fix the nasty `exeext redefines
112       foo_PROGRAMS' hack that is in there right now ]
113   In some cases this is unfixable.  In these cases we should give
114   an error.  This can be done by keeping track of whether a macro
115   was assigned with `=' or `+=', and having define_variable give
116   an error if the variable exists and was defined with +=.
117
118 * document user namespace for macro/target names
119   adopt some conventions and use uniformly
120     [ this is a good thing for the rewrite ]
121
122 * make distcheck uses directories like `=build'.
123   Some (very rare) POSIX systems don't support `=' in filenames.
124   If this ever becomes a problem, fix it
125
126 * distclean must remove config.status
127   can't this cause problems for maintainer-clean?
128   shouldn't maintainer-clean print the message before running
129   any part of the make?  (just to slow things down long enough
130   for the user to stop it)
131   (maybe doesn't matter since people who even know about
132   maintainer-clean already have a clue)
133
134 * There are probably more bugs in variable_conditions_sub along
135   the lines of the one that caused cond4.test to fail.
136
137 * give user more control over -I flags
138   in particular document a way to override the defaults
139
140 * reintroduce AM_FUNC_FNMATCH which sets LIBOBJS
141   Then have automake know about fnmatch.h.
142     [ probably should wait for autoconf to get right functionality ]
143
144 * Add a conditional for dependency tracking
145   (what to name it is the biggest problem here)
146   (because we want it to flag dist/no-dist -- not just deps)
147     [ this might not really be correctly doable.
148       instead we need a compile-time conditional for this
149       yuck ]
150
151 * Allow per-object cflags:
152         bin_PROGRAMS = foo
153         foo_CFLAGS = -DFOO
154 * per-object compiler flags do not apply to libobjs
155   -> give error in this case
156 * At the same time, allow sources in subdirs:
157         foo_SOURCES = x/y.c
158   This requires `mkdir x' at build time
159  [ both of these require per-file rules, and not pattern rules ]
160  [ use user-written suffix rules to generate the per-file rules in
161    an automatic way -- this would be mucho cool ]
162
163 * Allow for multiple translations of a texinfo file:
164         LL_info_TEXINFOS = ...
165   will put info files for language LL into $(infodir)/LL.
166
167 * If you suppress an internal variable by specifying a variable
168   in a Makefile.am, but the variable is conditional, then automake
169   should generate the internal variable conditionally.
170   You have to scan the map of all conditions and fill in the holes here
171
172 * Every program foo has FOOFLAGS right now.
173   It should also have AM_FOOFLAGS, which can be set in Makefile.am.
174 DONE: but needs to be documented
175
176 * Should be able to update files that would be installed with -a
177   (--force?)
178
179 * "make diff" capability
180   look at gcc's Makefile.in to see what to do
181   or look at maint program
182
183 * Karl wants to be able to set LIBS and LDFLAGS at build time, like CFLAGS
184   maybe we need something more general?
185
186 * add $(srcdir)/ before some dependencies?
187
188 * define LINK if a program is mentioned, even if no C sources appear
189
190 * BUILT_SOURCES should not be distributed, even when they appear in
191   another _SOURCES line. [? or maybe just leave this up to the
192   to-be-defined generic distribution method ]
193   must completely revisit the entire BUILT_SOURCES idea
194
195 * in --cygnus, clean-info not generated at top level
196
197 * what if an element of a scanned variable looks like
198         $(FOO).$(BAR)  ?
199   or some other arbitrary thing?
200   right now we try to cope, but not very well
201
202 * if `interlock' exists, that should be an error (?)
203   should also warn about using new ylwrap and not old one
204   only do this when looking for ylwrap
205
206 ** make sure every variable that is used is also defined
207
208 * make sure `missing' defines are generated
209 * if no AM_INIT_AUTOMAKE, then don't handle `missing' stuff.
210   Yuck!
211 * missing should handle install -d and rmdir -p (for uninstall)
212
213 * a couple ways to be smarter:
214   - notice when a .c file is a target somewhere, and auto-add it to
215     BUILT_SOURCES
216   - notice a target of the form `.x.y:' and assume it is a suffix rule
217
218
219 * NORMAL_INSTALL / NORMAL_UNINSTALL -vs- recursive rules
220   [ requires changes to the standard ]
221
222 * cross-compilation support:
223   programs built and used by the build process need to be
224   built for CC_FOR_BUILD
225   introduce a new variable for this
226
227 * if foo.y is a source, foo.h isn't auto-distributed?
228
229 * copyrights on m4 files, aclocal output
230
231 * is there a way to add a directory and then have "make" do all the
232   updating?  think.
233
234 * put standards.texi into distribution
235
236
237 * should not put texiname_TEXINFOS into distribution
238   should rename this macro anyway, to foo_texi_DEPENDENCIES
239
240 * *all* installed scripts should support --version, --help
241
242 For now I guess I'll just have automake give an error if it encounters
243 non-C source in a libtool library specification.
244
245 * must split $obj into two parts: one for libtool and one for
246   deansification.  Otherwise .S files will be deansified!
247
248 * ansi2knr must currently appear in a directory that has some source
249
250 * if program has the same name as a target, do something sensible:
251   - if the target is internal, rename it
252   - if the target is mandated (eg, "info"), tell the user
253     consider auto-modifying the program name to work around this
254
255 * should separate actual options from strictness levels
256   strictness should only cover requirements
257   You should be able to pick and choose options
258
259 should clean up texinfos.am; one rule is repeated 3 times, but
260 shouldn't be
261
262 should always use perl -w
263
264 rewrite in guile (RMS request)
265 at the same time, consider adding a GUI
266 could use the same parsing code for the GUI and the standalone version
267 that means figuring out a better representation of internal state
268 [ that's easy -- anything is better than what we have now ]
269
270 having just one Makefile for a project would give a big speed increase
271 for a project with many directories, eg glibc.  ideally (?) you'd
272 still be able to have a Makefile.am in each directory somehow; this
273 might make editing conceptually easier.
274
275 * finish up TAGS work
276 * `acinstall'
277 * put parser.h into distribution if "yacc -d" is used
278
279 * only remove libtool at top level?
280
281 * clean up source directory by moving stuff into subdirs
282
283 * consider adding pkglibexecdir, maybe others?
284   requests for pkg-dirs with version included
285
286 Avoid loops when installing; instead unroll them in automake
287
288 * for new autoconf:
289   * completely handle multi-":" mode for AC_CONFIG_HEADER
290   * Scan multiple input files when Makefile is generated?
291     This would provide flexibility for large projects; subsumes
292     the "Makefile.tmpl" idea
293
294    [ can't do this.  must explain why in manual.
295      basically, solving all the problems is too hard
296      like: how to remove redundancies between generated .in files
297      instead should implement `include' directive for Makefile.am ]
298 * for multi-":" mode and AC_OUTPUT, it might be good to pick the
299   first input file that has a corresponding .am file.
300
301 Some long-term projects:
302 * if $(FOO) is used somewhere, ensure FOO is defined, either by
303   user or by automake if possible
304
305 [ include, += support ]
306 * even better would be allowing targets in different included
307   fragments to be merged.  e.g., `install-local'.
308
309 consider putting all check-* targets onto @check?
310 To support --help/--version checking?
311
312 take diff-n-query code from libit
313
314 Per Bothner says:
315 Per> 1) Being able to build a set of non-source programs
316 Per> from source programs, without necessarily linking them together.
317 Per> I.e. one should be able to say something like:
318 Per>    dummy_SOURCES=foo.c bar.c
319 Per> and automake should realize that it needs to build foo.o and bar.o.
320 Per> 2) Being intelligent about new kinds of suffixes.
321 Per> If it sees:
322 Per>    SUFFIXES = .class .java
323 Per> and a suffix rule of the form:
324 Per>    .java.class:
325 Per> then it should be able to realize it can build .class files from
326 Per> .java files, and thus be able to generate a list of
327 Per> .class files from a list of .java source files.
328
329 !! Must fix require_file stuff.  It is really gross, and I don't
330    understand it any more.
331
332 * error messages should print ``[info blah blah]'' command when a
333   certain part of the standards apply.  saw idea in message from
334   Craig Burley.  wouldn't it be really cool if compile-mode in Emacs
335   understood this convention, and you could click on such text to
336   go to the appropriate info page?  [ I think you can ]
337
338 Jim's idea: should look for @setfilename and warn if filenames too long
339 * guess split size
340
341 ** many requests for a way to omit a file from the distribution.
342    Should be done like `!foo' or `~foo' in _SOURCES, etc.
343    Such files should be removed explicitly after the copy step!
344    Doing this requires rewriting macros before generating Makefile.in.
345
346 from joerg-martin schwarz:
347  -- If Makefile.am contains $(CC), $(COMPILE), $(YLWRAP), .... 
348     in an explicitly written rule,  you should emit the corresponding
349     Makefile variables automatically.
350
351 Configuring in the large:
352 * allow hierarchy of dirs to share one aclocal.m4
353   How?
354
355 consider printing full file name of Makefile.am or configure.in when
356 giving error.  This would help for very large trees with many
357 configure.in scripts
358
359 From the GNU Standards.  These things could be checked, and probably
360 should be if --gnu.
361 *    Make sure that the directory into which the distribution unpacks (as
362 well as any subdirectories) are all world-writable (octal mode 777).
363 *   Make sure that no file name in the distribution is more than 14
364 characters long.
365 *    Don't include any symbolic links in the distribution itself.
366      (ditto hard links)
367 *    Make sure that all the files in the distribution are world-readable.
368 ** also, check --help output and --version output.  Idea from François
369 * standards no longer prohibit ANSI C.  What does this imply
370   for the de-ansi-fication feature? [ must keep it -- some users rely on it ]
371
372 should be able to determine what is built by looking at rules (and
373 configure.in).  Then built man pages (eg) could automatically be
374 omitted from the distribution.
375
376 Idea from Joerg-Martin Schwarz: allow passing different -D flags to
377 different compiles.  This can be done, but with the restriction that a
378 .c cannot appear in 2 different "objects" (programs/libraries)
379 compiled with different -D options (because -c and -o do not always
380 work together and parallel makes must work).  This could be
381 implemented by noticing whenever a ".o" target with no rules is being
382 emitted, and adding the appropriate compilation rule as appropriate.
383 This should work with targets from Makefile.am as well as from .P
384 files, which means rewriting so that the Makefile.am contents aren't
385 copied into the output immediately.
386  [ this could be probably done more directly by examining the sources
387    as we scan Makefile.am ]
388
389 Henrik Frystyk Nielsen says:
390 Henrik> 4) Flags like --include-deps are lost when you make changes to
391 Henrik> Makefile.am files and automake is run automatically. It would
392 Henrik> be nice to keep these flags as I now have to redo everything
393 Henrik> manually.
394 ... what about other options here too?
395
396 Think about: maybe "make check" should just bomb if error occurs?
397 Then user must use "make -k check".  This is probably more natural.
398
399 Consider: "cvs" option adds some cvs-specific rules?
400
401 Right now, targets generated internally (eg "install") are not
402 overridable by user code.  This should probably be possible, even
403 though it isn't very important.  This could be done by generating all
404 internal rules via a function call instead of just appending to
405 $output_rules.
406  [ this will be harder to implement when scanning a rule like all-recursive
407    from subdirs.am ]
408
409 * Should be a way to have "nobuild_PROGRAMS" which aren't even built,
410   but which could be by running the magic make command.
411
412 Other priorities:
413 * Must rewrite am_install_var.  Should break into multiple functions.
414   This will allow the callers to be a little smarter.
415 * Rewrite clean targets.
416 * Must rewrite error handling code.  Right now it is a real mess
417   Should fix up require_file junk at the same time
418
419 djm wants ``LINKS'' variable; list of things to link together after
420 install.  In BSD environment, use:
421         LINKS = from1 to1 from2 to2 ...
422
423 Need way to say there are no suffixes in a Makefile (Franc,ois'
424 "override" idea suffices here)
425
426 Check to make sure various scripts are executable (IE when looking for
427 them in a directory)
428
429 Use recode in dist target when MAINT_CHARSET specified.  Read caveats
430 in automake.in before doing this.  Note the same problem used to apply
431 to the no-dependencies option; maybe it still should?  Note also that
432 each Makefile.am must be rewritten at "make dist" time if
433 MAINT_CHARSET and DIST_CHARSET are not identical.  NOTE: gettext must
434 arrange for all .po files not to be recoded.  In the long term this
435 might be a problem (consider when some systems use Unicode but the
436 rest do not)
437   MAINT_CHARSET *must* be local to each Makefile.am, to enable
438         merged distributions.
439   DIST_CHARSET must be passed down to subdir makes during a "make dist"
440
441 Handle dist-zoo.  Generally add more DOS support.  Maybe run "doschk"
442 (why isn't this merged with "pathchk"?) when doing a dist.  Do
443 whatever else François says here...
444
445 Add support for html via an option.  Use texi2html.  Use
446 "html_TEXINFOS", and htmldir = .../html.  Include html files in
447 distribution.  Also allow "html_DATA", for raw .html files.
448   [ when will texinfo directly support html? ]
449
450 uninstall and pkg-dirs should rm -rf the dir.
451
452 a potential bug: configure puts "blah.o" into LIBOBJS, thus implying
453 these files can't be de-ansified.  Not a problem?
454   [ fix by using ansi2knr wrapper program ]
455
456 In general most .am files should be merged into automake.  For
457 instance all the "clean" targets could be merged by keeping lists of
458 things to be removed.  This would be a lot nicer looking.  Note that
459 the install targets probably should not be merged; it is sometimes
460 useful to only install a small part.
461
462 Clean up the output:
463 * Order rules sensibly
464 * Ensure every line has a purpose.  Omit unused stuff
465 * Eliminate extraneous rules when possible (eg 'install-am' stuff)
466 * Make sure vertical spacing is correct
467 Omit program transform vars from header if no program installed.  This
468 is currently pretty hard to do.  (But with beautification code it
469 would probably be easy)
470
471 Lex, yacc support:
472 * It would be nice to automatically support using bison's better features
473   to rename the output files.  This requires autoconf support
474 * Consider supporting syntax from autoconf "derived:source", eg:
475         y.tab.c:perly.y
476   for yacc and lex source
477 * what if you use flex and the option to avoid -lfl?
478   should support this?
479
480 Multi-language support:
481 * should have mapping of file extensions to languages
482 * should automatically handle the linking issue (special-case C++)
483 * must get compile rules for various languages; FORTRAN probably
484   most important unimplemented language
485 This should be integrated in some way with Per's idea.
486 Eg .f.o rules should be recognized & auto-handled in _SOURCES
487 That way any random language can be treated with C/C++ on a first-class
488 basis (maybe)
489
490 It might be cool to generate .texi dependencies by grepping for
491 @include.  (If done, it should be done the same way C dependencies are
492 done)
493
494 It would be good to check some parts of GNU standards.  Already check
495 for install-sh and mkinstalldirs.  What else is required to be in
496 package by GNU standards or by automake?
497 Some things for --strictness=gnits:
498 * "cd $(foo); something" is an error in a rule.  Should be:
499   "cd $(foo) && something"
500 * Look for 'ln -s' and warn about using $(LN) and AC_PROG_LN_S
501 * Look for $(LN) and require AC_PROG_LN_S
502
503 Auto-distribute "ChangeLog.[0-9]+"?  "ChangeLog.[a-z]+"?
504
505 Internationalize. [ gettext doesn't have the necessary machinery yet ]
506 am_error should use printf-style arguments (for eventual gettext scheme)
507
508 François says the ordering of files in a distribution should be as follows:
509 * README
510 * source files
511 * derived files
512 I agree, but I don't see how to implement this yet.
513 It might be easier if "derived files" is limited to those that
514 Automake itself knows about, eg output of yacc.
515
516 Check all source files to make sure that FSF address is up-to-date.
517 --gnits or --gnu only.
518
519 Merge each -vars.am file with corresponding ".am" file.  Can do this
520 because of changes to &file_contents.
521
522 Should libexec programs have the name transform done on them?
523
524 Order the output rules sensibly, so FOO_SOURCES and FOO_OBJECTS are
525 together and rules are in the usual order.
526
527 Make the output minimal: only output definitions for variables that
528 are used.
529
530 djm says:
531 David> To avoid comments like the one about subdirs getting buried in
532 David> the middle of a Makefile.in, how about pushing comments that
533 David> start with ### to the top of the Makefile.in (in order)?  Sort
534 David> of like how Autoconf uses diversions to force initialization
535 David> code to the top of configure.
536
537 Karl Berry says:
538 Karl> 2) Your Makefile variable names are generally uppercase, but GNU
539 Karl> generally uses lowercase. Not that it matters :-).
540
541 ================================================================
542
543 Stuff for aclocal:
544
545 probably should put each group of m4 files into a subdir owned by the
546 containing application.
547
548 ================================================================
549
550 Document:
551
552 AM_MISSING_PROG
553
554 how to use the generated makefiles
555  - standard targets
556  - required targets
557  - NORMAL_INSTALL junk
558
559 what goes in AC_CONFIG_AUX_DIR
560
561 multi-":" mode in AC_OUTPUT -- automake only looks at the first file
562     also a note on how a .am file is found in this case
563
564 rationale for avoiding
565         make CFLAGS="$CFLAGS" ...
566 in subdirs make rule
567
568 a package that installs its own aclocal macros
569
570 write example of using automake with dejagnu
571 follow calc example in dejagnu docs
572
573 document which variables are actually scanned and which are not.
574
575 Document customary ordering of Makefile.am.  From François.
576
577 Should include extended version of diagram from Autoconf (suggested by
578 Greg Woods)
579
580 Make a definition of the term "source"
581
582 document how to use Automake with CVS.  Idea from Mark Galassi.  Also
583 include Greg Woods' more sophisticated "cvs-dist" target.
584
585 document rebuilding configure.  CONFIGURE_DEPENDENCIES
586 CONFIG_STATUS_DEPENDENCIES
587
588 -- must document all variables that are supposed
589    to be public knowledge
590
591 must document the targets required for integration with
592 non-automake-using subdirs
593
594 document the "make SHELL='/bin/sh -x'" trick for debugging
595
596 section on relationship to GNU make.  include notes on parallel makes
597
598 add a concept index
599
600 move discussion of cygwin32, etags, mkid under other gnu tools
601
602 CCLD, CXXLD, FLD
603
604 ================================================================
605
606 Things to do for gcc:
607
608 Regularize dependency generation.  Add new flags:
609
610 -MH   Generate a dummy dependency for each header file mentioned.
611 -MT NAME
612       Set name of target
613 -MF NAME
614       Set name of output file
615
616 Then automake can use -MD -MH -MT 'foo.o foo.lo' -MF .deps/...
617
618 ================================================================
619
620 Things to do for autoconf:
621
622 * patch autoreconf to run automake and aclocal.  I've done this but it is
623   not really available.  It can't be made available until automake
624   is officially released
625
626 ================================================================
627
628 Libraries:
629
630 * Should support standalone library along with subdir library in same
631   Makefile.am.  Maybe: turn off "standalone" mode if library's Makefile.am
632   is not only one specd? [ add an option for this ]
633
634 ================================================================
635
636 Longer term:
637
638 Would it be useful to integrate in some way with the Debian package
639 building utility?  Must check.  maybe it would be possible to deal
640 with all the different package utilities somehow.  Lately I've been
641 hearing good things about the RedHat packaging utilities.  Why are
642 there so many of these?  Are they fun to write or something?
643 The RedHat package utility is called RPM; see
644         ftp://ftp.redhat.com/pub/code/rpm
645 It actually has problems, like no configure script and no documentation.
646
647 For Cygnus it would probably be good to be able to handle the native
648 package utility on each platform.  There are probably 3 or 4 of these
649 (sysv, solaris?, aix?)
650
651 tcl/unix/Makefile.in has some code to generate a Solaris package.
652
653 Automake probably can't do all of this on its own.  A new tool might
654 be a better idea
655
656 I have some notes from a Debian developer on how the integration
657 should work
658
659 ================================================================
660
661 A tool to guess what the local Makefile.am should look like:
662 (see Gord's Maint program!)
663
664 * Probably integrate with autoscan
665 * Use various simple rules to determine what to do:
666   * get name of top directory, sans version info
667   * search for .c files with 'main' in them
668     * if in main.c, use directory name for program
669     * if in more than one, generate multiple programs
670     * if not found, generate a library named after directory
671   * order subdir searches correctly: lib first, src last
672   * assume 'testsuite' dir means we are using dejagnu
673 * maybe be smart about reading existing Makefile.am, so tool
674   can be run for incremental changes?  You could imagine:
675
676         Makefile.am:
677                 autoproject --incremental
678
679 ================================================================
680
681 Stuff NOT to do, and why:
682
683 consider auto-including any file that matches "*.in".
684   [ no: po/Makefile.in shouldn't be included ]
685
686 must look at mkid to see how it works (for subdir usage)
687   [ right now, it doesn't.  i don't see a simple fix right now ]
688
689 if configure.in not found, move up a directory and try again?  This
690 could eliminate a common source of problems.
691   [ this is just a bad idea ]
692
693 * scripts are installed in $exec_prefix/bin, not $prefix/bin
694   Bug or feature?
695   [ the consensus on Gnits is that this isn't required.
696     doubters can work around it anyway ]
697
698 * make the auto-dep code crash if GNU make not in use?
699   (doesn't it already?)
700
701 Looked at a program called 'ezmake', which seems to do something
702 similar.  The only idea there that is possibly worth stealing is using
703 globs in definitions.  Also has negations.  Eg in a directory with
704 files a.c, b.c and c.c, the line:
705         foo_SOURCES = *.c ~c.c
706 would be equivalent to:
707         foo_SOURCES = a.c b.c
708 Is this worth implementing?
709   [ No... it is more reliable to spell everything out. ]
710
711 Scan source directories and warn about missing files, eg .c/.h files
712 that aren't mentioned?
713   [ distcheck makes this less useful ]
714
715 * quoting bugs
716   - how to install file with a space in its name?
717   [ don't bother with this -- make is just too losing ]