[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Command producing several targets at once
From: |
Britton Kerin |
Subject: |
Re: Command producing several targets at once |
Date: |
Wed, 26 Jul 2017 12:31:51 -0800 |
On Wed, Jul 26, 2017 at 9:31 AM, Paul Smith <address@hidden> wrote:
> On Wed, 2017-07-26 at 09:17 -0800, Britton Kerin wrote:
>> Another option if you don't like non-static pattern rules or the
>> special-case stuff involved, is to use a stamp file:
>>
>> yaccouts.stamp: parser.mly
>> ocamlyacc $<
>
> I expect you want to add a "touch $@" to this recipe.
Yes, thx. My bad should always test before post.
> And, this will only work if you have only on .mly file you need to
> build; if you have more than one you'll need to ensure the stamp file
> name is based on the .mly file name rather than "yaccouts.stamp".
Ok ok here's a more real-life version:
OCAMLYACC_STAMPS = $(patsubst %.mly,%.ocamlyacc.stamp,$(wildcard *.mly))
$(OCAMLYACC_STAMPS): %.ocamlyacc.stamp: %.mly
ocamlyacc $<
touch $@
>> Since .ml and .mli files are always produced together by the
>> sameprogram, they don't need individual nodes in your dependency
>> graph so you arrange yaccouts.stamp to represent them (and depend on
>> the stampfile in turn where needed).
>
> This works if you can ensure that all other references to parser.ml and
> parser.mli in the prerequisites lists in your makefile can be replaced
> with a reference to the .stamp file.
>
> But, it's not so simple if you have auto-generated prerequisites etc.
> where it's harder to control this.
>
> Also, this method doesn't take into account someone deleting either or
> both of the .ml or .mli files by hand but not touching the .stamp file.
True. It's still worth it to avoid non-static pattern rules though IMO.
Britton
- Command producing several targets at once, Sébastien Hinderer, 2017/07/26
- Re: Command producing several targets at once, Paul Smith, 2017/07/26
- Re: Command producing several targets at once, Sébastien Hinderer, 2017/07/26
- Re: Command producing several targets at once, Sébastien Hinderer, 2017/07/26
- Re: Command producing several targets at once, Paul Smith, 2017/07/26
- Re: Command producing several targets at once, Sébastien Hinderer, 2017/07/26
- Re: Command producing several targets at once, Britton Kerin, 2017/07/26
- Re: Command producing several targets at once, Paul Smith, 2017/07/26
- Re: Command producing several targets at once,
Britton Kerin <=
- Re: Command producing several targets at once, Paul Smith, 2017/07/26
- Re: Command producing several targets at once, Britton Kerin, 2017/07/26
- Re: Command producing several targets at once, Sébastien Hinderer, 2017/07/27
- Re: Command producing several targets at once, Stefan Monnier, 2017/07/29
Re: Command producing several targets at once, Thomas Martitz, 2017/07/26