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)