views:

174

answers:

1

Just wondering if there is a 'makedepends' equivalent that ships with visual studio that I can use with nmake. Does anyone know?

+1  A: 

You can use the /showIncludes switch to cl.exe to list the headers #included by your source files. Nested includes are indicated by indentation with spaces. You can also turn on syntax-checking mode with the /Zs switch, to increase speed and avoid creation of .obj files.

If you have Perl and a version of uniq (e.g. from GnuWin32) installed, the following one-liner will dump the list of unique headers used by myfile.cpp:

cl /Zs /showIncludes /EHsc myfile.cpp | perl -ne "print if s/^Note: including file: *//" | sort | uniq

It should not be too difficult to pipe this through another script that creates the relevant nmake rules.

j_random_hacker