On Mon, Aug 8, 2011 at 7:57 AM, Greg Chicares <[email protected]> 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 _______________________________________________ Help-make mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-make
