From owner-freebsd-current Fri Oct 23 05:41:33 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id FAA23864 for freebsd-current-outgoing; Fri, 23 Oct 1998 05:41:33 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.15.68.22]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id FAA23858 for ; Fri, 23 Oct 1998 05:41:30 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id WAA31913; Fri, 23 Oct 1998 22:40:56 +1000 Date: Fri, 23 Oct 1998 22:40:56 +1000 From: Bruce Evans Message-Id: <199810231240.WAA31913@godzilla.zeta.org.au> To: bde@zeta.org.au, Don.Lewis@tsc.tdk.com Subject: Re: gnu/usr.bin/cc/cc_tools/Makefile bug? (was Re: filesystem safety and SCSI disk write caching) Cc: current@FreeBSD.ORG Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG >} >Is it possible for make to determin that all the files will be built >} >together? If so, then make could be fixed to avoid running these >} >commands multiple times in the parallel case. >} >} No. Not without telling it using something like .ORDER. > >What if the commands to build the targets don't reference .TARGET, .PREFIX, >and so on? Even .PREFIX should be OK if all the targets have the same >prefix. .TARGET only works if there is a single target, and .PREFIX only works properly in implicit rules (with a single target), so there is normally no problem when they are used. Otherwise, make doesn't handle multiple targets created by a single rule. I suppose `make' could handle cases where lexically identical rules are used to build multiple targets: --- all: foo bar foo bar: >foo >bar --- `make -j2' could try running the common rule non-concurrently to see if it updates foo and bar. `make' doesn't do this. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message