Hello, Thank you for the information. It does appear to be a bug but I used your workaround and everything is running ok now.
Thanks, Phil Philip Guenther-2 wrote: > > On Thu, May 7, 2009 at 7:30 PM, pip9ball <[email protected]> wrote: >> I'm having some difficulty testing for flags used when executing gmake. >> In >> particular, if the user calls gmake with the "-j" parallel flag, I want >> to >> set a variable differently. The reason why I need this is we have a >> batch >> system in place where I need to disable interactive jobs when running in >> parallel so the stdout isn't inter-dispersed. I've created a small >> testcase, however I don't understand why this doesn't work. >> >> ifeq (,$(filter j, $(MAKEFLAGS))) >> NC_RUN_EXE = nc run -I blah ... >> else > ... >> In both cases above, the ifeq ($findstring...) function is taking the >> 'true' >> branch. > > Uh, I see a $(filter), not a $(findstring) in that Makefile snippet. > > Even with that fixed, however, it won't work: it appears that make > doesn't add the -j option to MAKEFLAGS until it starts processing > rules. I can't think of a good reason for that (it is _not_ related > to the .NOTPARALLEL target), so I think it's a bug. > > The workaround is to delay the test to when the rule is processed and > use $(if). Here's a makefile that demonstrates the bug and the > workaround. Compare the output of "make", "make -j", and "make -t". > > Side-note: I use $(value MAKEFLAGS) instead of just $(MAKEFLAGS) > because the latter will result in a false positive if there's a > command line variable assignment that contains a 'j'. > > Philip Guenther > > ------ > $(info MAKEFLAGS = '${MAKEFLAGS}') > ifneq (,$(findstring j,$(value MAKEFLAGS))) > $(info has -j!) > endif > ifneq (,$(findstring t,$(value MAKEFLAGS))) > $(info has -t!) > endif > > HAS_J = $(if $(findstring j,$(value MAKEFLAGS)),has -j,no -j) > > all: > @echo $(MAKEFLAGS) > @echo $(if $(findstring j,$(value MAKEFLAGS)),has -j,no -j) > @echo $(HAS_J) > > .PHONY: all > > > _______________________________________________ > Help-make mailing list > [email protected] > http://lists.gnu.org/mailman/listinfo/help-make > > -- View this message in context: http://www.nabble.com/Testing-gnuMake-flags-tp23439038p23504011.html Sent from the Gnu - Make - Help mailing list archive at Nabble.com. _______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
