4 ms·
The problem is that C/C++ files have internal depenedencies which make needs to know about. Yes, for gcc you can use a simple trick to extract the dependencies
by lukaslalinsky 12y ago
The problem is that C/C++ files have internal depenedencies which make needs to know about. Yes, for gcc you can use a simple trick to extract the dependencies to makefile rules, but in case you use a different compiler, you need to do it yourself. If you are compiling a different language, you need to do it yourself again. Using something like CMake or even automake, which can automatically track the dependencies, saves you a lot of work.
- xjia 12y agoHow do they track the dependencies automatically?
- deleted 12y ago[deleted]
- evmar 12y agoWith gcc/clang it's a set of flags starting with -M, and with MSVC it's /showIncludes. They're discussed a bit here: http://martine.github.io/ninja/manual.html#ref_headers http://martine.github.io/ninja/manual.html#ref_headers
- xjia 12y agoWhat if we're using a different compiler, then? The comment that I was replying to sounds like CMake or something has more magic thus power for a future unknown compiler.
- lukaslalinsky 12y agoThe point I was trying to make is that when you use CMake on any not-completely-unknown compiler, it will do this for you. If you are writing your own makefile, you either need to take the different compilers into account or implement it just for gcc ("screw the other guys") or simply resolve to "make clean && make".
- ExpiredLink 12y agoBack in the (not so) good old days we used makedepend. http://en.wikipedia.org/wiki/Makedepend http://en.wikipedia.org/wiki/Makedepend