tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: make: new modifyer :Y
>> I'm surprised that 30 lines of code can cause objections.
> It's not that it's 30 or 300 or 300,000 or even 3; it's that the
> primary problem with make, both now and historically, has that people
> have gone and added special-case hacks to it, time and again, without
> worrying about generalizing what they're doing, being systematic, or
> pursuing any kind of coherent high-level design.
What we have now (my personal view).
1) !empty(FOO:M[Yy][Ee][Ss])
!empty(FOO:M[Nn][Oo])
The most ugly solution I've ever seen :-( Period.
2) defined(FOO) && ${FOO} == "yes"
defined(FOO) && ${FOO} != "no"
Too much characters. Buggy.
3) ${FOO:U:tl} == "yes"
Relatively short and clear. Used very rarely. Personally, I prefer
this form but I'm the only one.
4) ${FOO:M${ISTRUE}}
IMHO this is as ugly as item 1) and 2). Very bad way to go.
5) Treat "yes" and "no" as True and False in boolean expressions
(.if, &&, || etc.)
This is probably a good way to go but requires (how much?) time
to research and develop.
6) :Y it works NOW, it is coherent with other parts of make,
implements high level constructon _used very often_,
doesn't break anything, works fast.
7) types and typed variables in make(1). Fantasy.
--
Best regards, Aleksey Cheusov.
Home |
Main Index |
Thread Index |
Old Index