|Subject:||Multiple invocations of GnuMake|
|Date:||Thu, 29 Jun 2006 10:22:47 -0400|
From: Tobias Contreras
I need to generate both product.mak and later, a dependency file. The dependency file requires GnuMake to have included the defines from product.mak (these affect dependencies). GnuMake’s behaviour for handling self-generated include files is to realize the file is required, execute the rule to create it, and then restart the script from scratch. If I use one pass, product.mak is generated and then the dependency file is generated, satisfying their interdependence. Only then does GnuMake restart from scratch, at which point it has created both files. The problem is that the dependencies were created before product.mak was included. Hence, the platform-specific defines weren’t in place. To get the job done in a single GnuMake call, we’d need a way to instruct GnuMake to restart after creating any one given include file.
So how can I make something like this work in one pass instead of two? Using 3.79.1
echo Generating $@
echo DEFINES_1_INCLUDED = TRUE > defines1.mak
echo Generating $@
echo DEFINES_2_INCLUDED = TRUE > defines2.mak
echo DEFINES_2_BAD = TRUE > defines2.mak
default: defines2.mak defines1.mak
echo Test passed!!!
echo Test failed. Boo.
(Multiple calls to make seems to be the popular solution)
Thanks once again for your help
I know you must be busy with so many questions, I resent jic
Coop Tool Developer
This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.
|[Prev in Thread]||Current Thread||[Next in Thread]|