Hello, On Tue, Jul 01, 2008 at 06:12:15AM +0000, Ineiev wrote: > WinAVR gcc produces dependencies that shall confuse `make', > like these: > > sampler.o: ../../../stribog/sw/auxilia/coil/sampler.c \ > c:/winavr-20080512/lib/gcc/../../avr/include/avr/io.h \ > c:/winavr-20080512/lib/gcc/../../avr/include/avr/sfr_defs.h \ [...]
perhaps my first question is a bit naive, but why does this confuse your make? It's a long time since I last used cygwin, but aren't these paths correct? If cygwin does not understand "c:/" then it surely has something like /magicwordforsuperroot/c/winavr-20080512/.... Couldn't WinAVR be patched so that it produces this type of paths, to be compatible with its host environment? > sed "s/ -MD / -MMD /" < Makefile > Makefile.tmp ... > This run successfully, but I'm afraid such a description > of dependencies is not reliable. Well, first you are depending on Automake internals, so you are at risk that things may break with future versions of Automake. I suggest to test the feature each time you upgrade to new Automake API, i. e., Automake 1.11, 1.12, etc. Then let me note that you can also patch Makefile.in, which is generated by Automake before you create a distribution tarball. You could perhaps call sed in dist-hook, so all tarballs would contain modified Makefile.in (see the Automake manual for details about dist-hook). This might be less fragile, in the sense that if it breaks, it would be during "make dist" which is on _your_ machine, not on the machine of your user. HTH, Stepan