>>>>> "DJ" == DJ Delorie <[EMAIL PROTECTED]> writes:
>> probably the sanest thing is to go with the automake-like approach of >> one .d file per .c file, which then can be annotated without having to >> write logic to parse a big dependency file and update it in place. DJ> The problem with .d files is that there's no good automatic way to DJ> deal with headers that get renamed or deleted; the dependency on the DJ> old file is listed but there's no way to make that file. The automake approach is to emit a dummy target for each header. This avoids the deleted header file problem. Automake also doesn't do a separate "make depend" step. Dependencies are computed as a side effect of compilation. There is a wrapper script that handles most kinds of compilers (with a fallback to an old-style makedepend), but if you are building with gcc this is bypassed in favor of a fast track in the Makefile. Computed headers are dealt with somewhat clumsily in automake. As a user you specify "BUILT_SOURCES", and then these are built by 'all' before anything else is done. Ordinary dependencies do suffice here, they just aren't the style automake users are encouraged to use; in gcc you could just tack them on to the end of a "%.o: %.c" rule. Tom