4 ms·
So what does make (the took is not called Makefile, btw) "wrong". Where could one improve on it? 1. Syntax. Makefiles aren't parseable and have some at least u
by choeger 3y ago
So what does make (the took is not called Makefile, btw) "wrong". Where could one improve on it?
1. Syntax. Makefiles aren't parseable and have some at least unexpected syntactic properties.
2. Dependency detection: AFAIK any make will always use a timestamp and the precision varies a lot. A checksum or at least guaranteed resolution would be great. Also, you can't depend on directories.
3. Dynamics (this is going to be contested): Changing dependencies and tasks at runtime is possible with GNU make, but not ideal.
Taskfile improves on problem 1 but probably worsens everything else.
- feffe 3y ago- Multiple out file dependencies are also difficult to describe in make (GNU Make). There's a dedicated section for how to solve it in the manual[^1] but it's a crutch. - Taking environment variables into account as a dependency (they may affect Makefile logic and also code generation by tools that interpret them). [^1]: https://www.gnu.org/software/automake/manual/html_node/Multiple-Outputs.html https://www.gnu.org/software/automake/manual/html_node/Multi...
- morelisp 3y agoMultiple outfile dependencies (aka "grouped targets") can be specified in GNU Make via `&:` since 4.3.