(PACKAGEDATA): Removed dist-subd-vars.am, header.am.
[automake.git] / TODO
blob6b0c2e779fb9dd4b1e0692106d3450fa3d628848
1 Top priorities:
2 * Make installdirs target.
4 Some known problems:
5 * clean targets not very well tested
7 Should 'distclean' remove $(SCRIPTS)?
8 Should 'maintainer-clean' do "rm -rf .deps"?
9 Should look for clean-local targets in Makefile.am.
11 Get rid of header.am, dist-subd-vars.am
14 Consider a --install-missing option to install missing files such as
15 mdate-sh, texinfo.tex, etc.
17 Prettyprint macro definitions, eg:
18         DIST_COMMON = Makefile.in Makefile.am \
19         foo bar baz
21 It might be cool to generate .texi dependencies by grepping for
22 @include.  (If done, it should be done the same way C dependency is
23 done)
25 Rename --include-deps to --insert-deps?
27 Merge common parts of "dist" targets into dist-local.
29 It would be good to check some parts of GNU standards.  Already check
30 for install-sh and mkinstalldirs.  What else is required to be in
31 package by GNU standards or by automake?
33 Maybe it should be possible to disable all GNU-specific things with
34 --no-gnu? --ignore-standards?  But what?  And why?
36 Think about modifications so automake can work with a standalone
37 library, eg readline.  For instance we need a way to install a
38 library, and a way to install header files.  It would also be nice to
39 figure out some good way to deal with shared libs.  When doing this,
40 make sure kpathsea can also be handled.
42 Allow ".h" files to appear in blah_SOURCES; just write them out of
43 existence.  [ This is nixed for now because of the auto-dependency
44 tracking stuff ]
46 should have (moral equivalent of) "all:: info" in texinfos.am?
48 automake.in: should ".cc" really -> ".${kr}o"?  This doesn't really
49 seem right, but maybe it is so names can be rewritten uniformly?  Must
50 check
52 look in configure.in's AC_OUTPUT command and include those files in
53 distribution.
55 consider auto-including any file that matches "*.in".
56   [ no: po/Makefile.in shouldn't be included ]
58 must look at mkid to see how it works (for subdir usage)
59   [ right now, it doesn't.  i don't see a simple fix right now ]
61 clean.am: clean: if all the macros are empty, the rule expands to:
62         rm -rf
63 which should be fixed
65 Internationalize. [ gettext doesn't have the necessary machinery yet ]
67 ================================================================
69 For CONFIG_HEADER,
70   automatically add its input file to the distribution.
72 Don't hardcode the name of the configuration header.  Get it from
73 configure.in (AC_CONFIG_HEADER).  
75 Get the list of Makefiles to create from configure.in AC_OUTPUT
76 if none are given.
77         [ right now we look for any Makefile.am's lying around
78           I think this is better, because it allows use of subdirs
79           which don't use automake -- eg, stuff from gettext ]
81 Should libexec programs have the name transform done on them?
83 Order the output rules sensibly, so FOO_SOURCES and FOO_OBJECTS are
84 together and rules are in the usual order.
86 Make the output minimal: only output definitions for variables that
87 are used.
89 Look at dist's jmake for ideas.  [what is this?]
91 Should handle directory hierarchies deeper than 2.  Right now there is
92 no support for this at all.
94 ================================================================
96 Known Bugs:
98 version.texi handling is broken -- it assumes you only have one .texi
99 file per directory.
100    (*) In any case, the UPDATED information would be different for
101    each .texi file included in a package -- that is my problem.
102    Now, if no package will ever have more than one .texi file
103    (in a given directory), I can just stop worrying about it.
105 If there is ever more than one, we will need to change the name of
106 'version.texi' to be based on the name of the primary .texi file.
107 Will have to be careful here not to violate MS-DOS name limits.  Also
108 will need more than one stamp-vti.
111 ================================================================
113 Document:
116 Defined variables, their meanings, and their effects:
118 DEFS           cpp definitions
119 INCLUDES       -I options to cpp
120 CPPFLAGS       more cpp flags
121 CFLAGS         flags to cc
122 COMPILE        how to compile a C program
123 LINK           how to link a C program
125 DIST_SUBDIRS   directories which are copied verbatim into the
126                distribution.  Used eg for directories holding
127                only example code (which don't have their own
128                makefile).  This variable might be a bad idea.