Updates for GNU make 3.75.92.
[make.git] / TODO.private
blob21f79e2bef05711c70ab590f6d7fa09855fa7b23
1                                                             -*-Indented-Text-*-
2 GNU Make TODO List
3 ------------------
5 This list comes both from the authors and from users of GNU make.
7 They are listed in no particular order!
9 Also, I don't gaurantee that all of them will be ultimately deemed "good
10 ideas" and implemented.  These are just the ones that, at first blush,
11 seem to have some merit (and that I can remember).
13 However, if you see something here you really, really want, speak up.
14 All other things being equal, I will tend to implement things that seem
15 to maximize user satisfaction.
17 Also, this list doesn't include things which I'm pretty sure would
18 require serious, fundamental change to GNU make; those things belong on
19 the mythical "Make 4.0" list.  I admit, that line can be somewhat fuzzy :)
22   * Per-target variable definitions (a la SunOS make's ":=" feature, but
23     note the syntax here will definitely be different!)
25   * Multi-token pattern rule matching (allow %1/%2.c : %1/obj/%2.o, etc.)
27   * More robust clock skew detection algorithm.
29   * Provide MAKETARGETS and MAKEVARIABLES variables, containing the
30     names of the targets and variables defined in the makefile.
32   * If the user asks for parallelization, rebuild any "include"'d files
33     in parallel as well (helps esp. when there are many .d files to be
34     built).
36   * Allow variables/functions to expand to other make rules which are
37     then interpreted, with newlines handled correctly.
39   * More intelligent submake handling when doing parallel makes:
40     currently each submake gets a "-j 1" option.  It would be good if
41     make was smart enough to give some/all its slots to the submake
42     (esp. if there is no other rule that can be run by the parent in
43     parallel, a common situation).  Doing this perfectly might be too
44     hard, but something less than perfect is certainly possible.
46   * Option to check more than timestamps to determine if targets have
47     changed (MD5 checksumming?)
49   * Some sort of operating-system independent way of handling paths
50     would be outstanding, so makefiles can be written for UNIX, VMS,
51     DOS, MS-Windows, Amiga, etc. with a minimum of specialization.