Dear GNUrus,
Wouldn't it be nice if GNU make had:
1) lockable (immutable) variables
SRC := /foo/bar
lock SRC
SRC := /ram/beau <-- error!
(Should there be a matching 'unlock'? I dunno.)
2) locally scoped variables
I know, this means scoping. My selfish interest: One Big Make with
a project of 1000+ source files in 50+ directories upon 5 different
platforms (HP/UX, AIX, SunOS, Linux, WinNT). How to implement: I dunno.
3) transformational subroutines, by name (in addition to implicit
transformation steps)
Note: I know the "FOO = magic $@" deferred macros go a long way
towards this behavior.
4) additional support for .PHONY types of actions (or triggers) via simpler
syntax
on 'clean' { rm foo.o; }
on 'clean' { rm bar.o; }
(ignore my stupid pseudo syntax)
...as an alternative to...
clean : rm_foo.o
clean : rm_bar.o
rm_foo.o :
rm foo.o
rm_bar.o :
rm bar.o
5) some sort of namespaces (sort of #2-ish from above, but different)
This would allow include.mk files to give their own self-contained
actions without concern of the bigger make. Once again, my own selfish
interests.
Food for thought.
Sincerely (with *lots* of respect),
John Love-Jensen