[NTLUG:Discuss] makefile guidance..

George E. Lass George.Lass at osc.com
Wed Apr 25 11:19:31 CDT 2001


Don,

You could handle that with 3 makefiles.  A top level makefile that
is envoked from the command line that envokes one of the other 
makefiles with CC=gcc and envokes the other makefile with CC=g++.

George

don wrote:
> 
> No, but I have thought of that.  We have one part of the project that
> has to be compiled with gcc and another part that has to be compiled
> with g++.  It has to be this way for reasons I can't go into.  That's
> why everything has to be contained within the the makefiles and
> specified with a "make tgt=<platform> <all/alldebug/allnodebug> ".
> 
> Don
> 
> George E. Lass wrote:
> 
> > I *think* you can just pass the compiler into the makefile:
> > make CC=gcc -g -Wall (and don't forget -Werror)
> > --or--
> > make CC=g++ -g .......
> > This *should* override the the CC= whatever that is contained in the
> > makefile itself.  Is this what you want to do?
> > george
> > don wrote:
> >
> >> Any one have any insight of how to structure a makefile to produce
> >> a
> >> non-debug executable and a debug executable ?  I could do this in
> >> a
> >> brute force option, but I was wondering if anyone has any tricks
> >> up
> >> his/her sleeve they'd like to share.   Using -d on the command
> >> line
> >> isn't really an option due to the size and existing setup of the
> >> project.
> >> Currently, we have to do "make tgt=xxx all" to build all the
> >> executables.  I'd like to modify it so that the target "all" is
> >> unchanged,  and add a "alldebug" and "allnodebug" option.  We
> >> currently
> >> have to define the compilers as such :
> >> $CC = gcc -g -Wall ...
> >> $CXX = g++ -g -Wall....
> >> and cannot change this either.
> >> Any suggestions ?  I have a few ideas, but would be interested  in
> >> what
> >> y'all have to say.
> >> Thanks in advance,
> >> Don



More information about the Discuss mailing list