4 ms·
I think the closest we have today to "make with better syntax" is ninja. It lacks pattern rules and macros and other fancy features because it is expected that
by cout 3y ago
I think the closest we have today to "make with better syntax" is ninja. It lacks pattern rules and macros and other fancy features because it is expected that ninja files are built with a code generator, but for a tool that just handles specifying targets, rules, and dependencies, it works great (and as a bonus it is faster than make).
- WesolyKubeczek 3y agoWhich makes ninja not that good enough a replacement, as make has the same problem: it’s so layered in arcane that in most cases you rely on tools to generate Makefiles for you anyway. There are “alternatives” like some Python frameworks, but they are more “command runners” rather than graph resolvers, they lack inbuilt or simple ways to determine that a target is up to date, or they promise paralellism* (with fine print that maybe someday in a future version). One thing make is lacking (arcane stuff aside) is dynamic dependency graph, which could have made it viable for things like javascript transpiling and bundling. Even for C projects which are sorta kinda match made in heaven, you need a “makedepend” tool to traverse your sources.