help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question on targets and goals


From: Jeffrey Walton
Subject: Re: Question on targets and goals
Date: Mon, 8 Aug 2011 08:01:58 -0400

On Mon, Aug 8, 2011 at 7:57 AM, Greg Chicares <address@hidden> wrote:
> On 2011-08-08 10:51Z, Jeffrey Walton wrote:
>>
>> I would like to invoke make with a debug or release configuration, but
>> without a rule:
>>     `make debug` or `make release`
>>
>> Later:
>>
>> ifeq ($(MAKECMDGOALS),debug)
>>   CXXFLAGS += -DDEBUG=1 -g3 -ggdb -O0
>> endif
>>
>> Because I don't have a rule, I'm getting a make error:
>>     make: *** No rule to make target `debug'.  Stop.
>>
>> So I think I've figured out how *not* to do it.
>>
>> I need to pick up debug or release, then invoke the `all` rule.  Can
>> anyone suggest a way that works?
>
> Untested:
>
> `make build_type=debug all` or `make build_type=release all`
>
> ifeq (debug,$(findstring debug,$(build_type)))
>  CXXFLAGS += -DDEBUG=1 -g3 -ggdb -O0
> endif
Thanks Greg. I was trying to stay away from the flags style since its
less intuitive (we're targeting folks whose primary language might not
be C/C++).

  `make debug` => easy, no user questions
  `make build_type=debug all` => what was that flag again?

Jeff



reply via email to

[Prev in Thread] Current Thread [Next in Thread]