make - Patches: patch #6040, N targets from a single...
You are not allowed to post comments on this tracker with your current authentication level.
patch #6040: N targets from a single *invocation* of a rule's command (triple-colon rules)
Submitter: | Stephen Warren <srwarren> | ||
Submitted: | Fri 22 Jun 2007 08:06:06 PM UTC | ||
Category: | None | Priority: | 5 - Normal |
Status: | Done | Privacy: | Public |
Assigned to: | psmith | Open/Closed: | Closed |
Fixed Release: | 4.3 |
Sat 04 Jan 2020 12:31:46 PM UTC, comment #1: |
Paul D. Smith <psmith>![]() ![]() |
Fri 22 Jun 2007 08:06:06 PM UTC, original submission:
I have a situation where a build command generates multiple outputs from a single command. I need make to run the commands one single time if any of those outputs are missing or out-of-date.
The names of these files (and the dependencies) are not regular, so I cannot use pattern rules to setup the "also_make" internal make data.
In fact, the names of the output files are actually dependent on the content of the input file in my case, although that's not relevant to the implementation, nor requirement for, this new feature.
So, I invented a "triple-colon" rule that sets up the "also_make" internal data, but otherwise acts like a regular non-pattern single-colon rule.
Note that the error checking (mixing different types of rules) may not be entirely complete. However, if you use sensible combinations of rules, then this patch works out great.
The patch is against a patched version of mingw32-make-3.80.0-3, so there may be some fuzz applying to clean copies and/or newer versions.
Use the feature like this:
tgt1 tgt2 tgt3 ::: dependencies
|
Stephen Warren <srwarren> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
There is a feature in the upcoming 4.3 release which allows this: it uses the separator "&:".