concurrency problem?

Erik Joelsson erik.joelsson at oracle.com
Thu Oct 4 00:38:30 PDT 2012


To avoid that problem, we added the special .NOTPARALLEL: target, which 
forces that specific makefile to ignore any -j, while still keeping it 
on the command line for any submakes. The reason for splitting it up was 
to support a poor mans faster incremental build, using the *-only targets.

/Erik

On 2012-10-04 08:24, David Holmes wrote:
> Guess I was right as:
>
> http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/a23c17af08ab
>
> undid it all. Unfortunately the "broken" version is what is in the 
> jdk8 repo. :(
>
> David
>
> On 4/10/2012 4:01 PM, David Holmes wrote:
>> This changeset:
>>
>> http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/02aca0e4c2f5
>>
>> broke up the all target, which had been defined in the following style:
>>
>> # Import (corba jaxp jaxws langtools hotspot)
>> $(MAKE) -f Import.gmk
>> #
>> $(MAKE) -f GenerateJavaSources.gmk
>> # Ok, now gensrc is fully populated.
>> $(MAKE) -f GenerateData.gmk
>> ...
>>
>> so that there was a separate target for each of the $(MAKE) invocations,
>> and the all target then simply became:
>>
>> all: import gensrc gendata classes libs launchers genclasses demos 
>> samples
>>
>> but doesn't that allow for the different dependencies to be potentially
>> built in parallel, where originally everything had to be done in strict
>> sequential order?
>>
>> David



More information about the build-infra-dev mailing list