3 ms·
I did mention that in other comments, including the C preprocessor helping. make is completely language agnostic, so it cannot “guess” header dependencies. In m
by anyfoo 2y ago
I did mention that in other comments, including the C preprocessor helping. make is completely language agnostic, so it cannot “guess” header dependencies. In make, you get the dependencies you specify (whether manual or generated), that’s what I wanted to show.
- peterfirefly 2y agoMake makes the easy part easy but the rest quite hard -- which I think you agree with. It sure would be nice to have something like this: codegen/codegen.o: !codegen/codegen.c $(CC) -c $(CFLAGS) -o $@ $< '!' would run $(CC) with -MD to extract the header dependencies. Doing that back in 1995 would have increased the value and usability of GNU make immensely (and greatly reduced the need for all the other complexity it has).
- teo_zero 2y agoWouldn't this require make to run CC with -MD on each instance of ! every time it's invoked, just to collect the list of dependencies, maybe just to discover that no file has changed?