[bug #56449] job.c (construct_command_argv_internal): Must use shell if '%' character is present in recipe line

2019-08-30 Thread Christian Eggers
Follow-up Comment #12, bug #56449 (project make): [comment #10 comment #10:] > GNU Make emulates the behavior of the shell as if the user typed the commands at the shell's prompt. It is true that you need to double the % characters in batch files, but GNU Make doesn't behave like batch files do.

[bug #56449] job.c (construct_command_argv_internal): Must use shell if '%' character is present in recipe line

2019-08-30 Thread Christian Eggers
Follow-up Comment #7, bug #56449 (project make): Hi, I'm the original author of this bug. It's some time ago I wrote this, so maybe I've forgotten some details... [comment #2 comment #2:] > I see that this bug was fixed and closed, but looking at the result, I'm not sure the fix is correct. If

[bug #56449] job.c (construct_command_argv_internal): Must use shell if '%' character is present in recipe line

2019-08-30 Thread Christian Eggers
Follow-up Comment #9, bug #56449 (project make): [comment #6 comment #6:] > But the result is wrong when %..% doesn't specify a known variable, most probably because we invoke the command through a batch file. The question may be, which of both results is the correct one. So if cmd.exe has

[bug #56449] job.c (construct_command_argv_internal): Must use shell if '%' character is present in recipe line

2019-08-30 Thread Christian Eggers
Follow-up Comment #8, bug #56449 (project make): [comment #5 comment #5:] > Sorry, I think there's some confusion. All this patch does is detect if we see a % in the command line and if so we do not take the fast path: instead we take the slow path and invoke command.com. > > So we're not

Re: make doesn't complain if target cannot be built

2014-01-14 Thread Christian Eggers
-Philip Guenther guent...@gmail.com schrieb: - Betreff: Re: make doesn't complain if target cannot be built In many cases, I've found it completely unnecessary to list the source files. Just list the objects that should be built and provide pattern rules for the source types, then let

Re: make doesn't complain if target cannot be built

2014-01-14 Thread Christian Eggers
Am Dienstag, 14. Januar 2014, 08:12:38 schrieb Paul Smith: Can you add the prerequisite to the pattern rules? %.o : %.c generated.h $(COMPILE.c) ... %.o : %.cpp generated.h $(COMPILE.cpp) ... This has the definite potential downside that if generated.h changes

make doesn't complain if target cannot be built

2014-01-13 Thread Christian Eggers
Hint: There's no file present from which foo.o can be built with implicit rules. Makefile 1: --snip--- all: foo.o --EOF--- # make foo.o make: *** No rule to make target `foo.o'. Stop. # echo $? 2 Makefile 2: --snip--- all: foo.o foo.o: generated.h --EOF--- # touch generated.h # make foo.o

Re: make doesn't complain if target cannot be built

2014-01-13 Thread Christian Eggers
Am Montag, 13. Januar 2014, 17:20:43 schrieb Paul Smith: On Mon, 2014-01-13 at 22:23 +0100, Christian Eggers wrote: In Makefile 2 my intention was to state that foo.o depends on some generated header which must be generated first (might be in another rule). But I didn't want to change