Re:What 'dependency' means in Unix init systems is underspec...
by tlb on Saturday October 27, 2018 @10:15PM
(#18318785)
Make lets you specify all 3 kinds of dependencies. Requirement is the default, want can be had by prefixing the commands with - (ignore errors), and ordering can be had by putting the prerequisites after a |.
Make could have been the engine behind a lot of unix infrastructure. I suspect the language-specific stuff like VPATH made it an undesirable choice.
[ Parent
| on HN ]
Re:What 'dependency' means in Unix init systems is underspec...
by cperciva on Saturday October 27, 2018 @10:42PM
(#18318864)
Ordering is a nonportable extension, unfortunately.
Re:What 'dependency' means in Unix init systems is underspec...
by nemoniac on Sunday October 28, 2018 @09:36AM
(#18320514)
Are there popular non-GNU makes nowadays?
Re:What 'dependency' means in Unix init systems is underspec...
by wongarsu on Sunday October 28, 2018 @09:45AM
(#18320555)
BSDs usually don't use GNU make by default (though it is usually available as gmake or similar)
Re:What 'dependency' means in Unix init systems is underspec...
by wbl on Sunday October 28, 2018 @10:55AM
(#18320855)
If you order doesn't that mean some dependency exists?
Re:What 'dependency' means in Unix init systems is underspec...
by teddyh on Sunday October 28, 2018 @11:29AM
(#18321048)
> Make could have been the engine behind a lot of unix infrastructure.
Possibly, if the problem with file names containing spaces was fixed.
Re:What 'dependency' means in Unix init systems is underspec...
by nn3 on Sunday October 28, 2018 @12:45PM
(#18321439)
On SUSE Linux a few versions used Makefiles for parallelizing init scripts under sysvinit before they switched to systemd.
I've been using make to drive test scripts myself recently, although i often regret it because other people editing them often make quite a mess later.
Re:What 'dependency' means in Unix init systems is underspec...
by paulddraper on Monday October 29, 2018 @01:27AM
(#18325265)
Not exactly.
GNU Make's order only dependency is different than what is described.
If `foo` is requested, `ordering` will be requested.
However the last modified time of `ordering` will not affect whether `foo` is rebuilt.
There's no analogy of the last modified caching of make products to in it systems here
Re:What 'dependency' means in Unix init systems is underspec...
by Avamander on Sunday October 28, 2018 @08:13AM
(#18320299)
I think make is too much of a write-only language, it's also hard to debug and autogenerators (automake) create makefiles that are just abhorrent.
Re:What 'dependency' means in Unix init systems is underspec...
by zaphar on Sunday October 28, 2018 @09:39AM
(#18320533)
It's not Make's fault that autogenerated Makefiles are hard to read. The same is true of pretty any much language produced by autogenerated code.
It is possible to write perfectly reasonable and debuggable Makefiles if you do it by hand.