Subject: Re: USE_NEW_TOOLCHAIN toolchain build not parallel-safe
To: Todd Vierling <tv@wasabisystems.com>
From: Alan Barrett <apb@cequrux.com>
List: tech-toolchain
Date: 10/19/2001 10:00:06
On Fri, 19 Oct 2001, Todd Vierling wrote:
> : ${FILES}:: ${PREREQUISITES}
> : command-to-make-them-all-simultaneously
>
> No, this is not how "::" works. Read make(1). I just tested it to verify
> that the behavior I'm looking for is not some undocumented feature.
I went back and checked why I had changed some ":" rules to "::",
and it turns out that I was confused.
With this Makefile:
FILES= file1 file2
default: $(FILES)
$(FILES) :: prereq
touch file1
false # force a failure
touch file2
prereq:
touch prereq
"make -k" tries to execute the commands for $(FILES) only once, but if
you change the "::" to ":" then it tries to execute the commands once
for each file. This difference in behaviour of "make -k" was important
to me, but it has nothing to do with what you want.
--apb (Alan Barrett)