This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Dependency generation with -MM


Nevermind. It's as easy as replacing the Makefile line:

$(CPP) -MM $(CPPFLAGS) `echo $$i | sed "s/\(.*\)\\.o$$/\1.cpp/"` >> depend

with:

$(CPP) -MM -MT $$i $(CPPFLAGS) `echo $$i | sed "s/\(.*\)\\.o$$/\1.cpp/"` >> 
depend

Sorry for the spam :)

On Wednesday 30 July 2003 12:17, Mihnea Balta wrote:
> As a side note, these two manual entries seem conflicting:
>
> The entry for the -M flag says:
> "The preprocessor outputs one make rule containing the object file name for
> that source file, a colon, and the names of all the included files [...]"
>
> The entry for the -MT flag says:
> "By default CPP takes the name of the main input file, _including any
> path_, deletes any file suffix such as .c, and appends the platform's usual
> object suffix. The result is the target."
>
> On Wednesday 30 July 2003 12:09, Mihnea Balta wrote:
> > Hello,
> >
> > I want to implement an automated system that generates dependency
> > information for my project's sources. I've used the standard technique:
> >
> > OBJS=a.o b.o ../../directory/c.o
> >
> > ...
> >
> > dep:
> > 	/bin/rm -f depend
> > 	for i in $(OBJS); do \
> > 		$(CPP) -MM $(CPPFLAGS) `echo $$i | sed "s/\(.*\)\\.o$$/\1.cpp/"` >>
> > depend;\ done
> >
> > ifeq (depend,$(wildcard depend))
> > include depend
> > endif
> >
> > The problem with this approach is that the following line:
> > g++ -MM ../../directory/c.cpp
> > outputs the following make rule:
> > c.o: ../../directory/c.cpp
> >
> > I would like it to output the rule as:
> > ../../directory/c.o: ../../directory/c.cpp
> >
> > Is there any way to do this with a g++ switch (I couldn't find one in the
> > manual), or do I have to write my own utility to perform that conversion?
> >
> > Thanks in advance.
> >
> > ---------------------------------------------------------------
> > Acasa.ro vine cu albumele, tu vino doar cu pozele ;)
> > http://poze.acasa.ro/
>
> ---------------------------------------------------------------
> Acasa.ro vine cu albumele, tu vino doar cu pozele ;)
> http://poze.acasa.ro/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]