[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: implementing emake's #pragma multi in GNU make?
From: |
Michael Stahl |
Subject: |
Re: implementing emake's #pragma multi in GNU make? |
Date: |
Sat, 09 Feb 2013 00:22:32 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 |
On 08/02/13 19:48, Mark Galeck wrote:
> --- On Fri, 2/8/13, Michael Stahl <address@hidden> wrote:
>
>>> address@hidden ~]$ cat Makefile
>>> bar1: bar
>>> touch $@
>>>
>>> bar: foo
>>> foo : baz
>>> touch foo bar
>>> address@hidden ~]$ touch bar1 foo bar
>>> address@hidden ~]$ touch baz
>>> address@hidden ~]$ make bar1
>>> touch foo bar
>>> touch bar1
>>
>> but how often do users invoke a particular file target
>> manually?
>>
>> [0] /tmp > make
>> touch foo bar
>> [0] /tmp > make
>> touch bar1
>>
>> is a result far more likely to happen in practice with your
>> Makefile.
actually the above should do the same for both of us, since the default
target is "bar1" there so it shouldn't make a difference if you invoke
"make" or "make bar1"
> Michael, I am sorry for being so dumb apparently, but I still don't see it.
> Can you tell me the sequence of steps to reproduce the problem?
apparently the problem is tricky and depends on the exact dependency
structure and the invoked target:
> address@hidden ~]$ cat Makefile
> all: foo bar bar1
>
> bar1: bar
> touch $@
>
> bar: foo
> foo : baz
> touch foo bar
with this ^ Makefile and make (3.82, Fedora18) and make-3.81 built from
source:
[0] /tmp > touch foo bar bar1 && touch baz
[0] /tmp > make bar1
touch foo bar
[0] /tmp > touch foo bar bar1 && touch baz
[0] /tmp > make
touch foo bar
touch bar1
[0] /tmp > touch foo bar bar1 && touch baz
[0] /tmp > ~/stuff/make-3.81/make
touch foo bar
touch bar1
[0] /tmp > touch foo bar bar1 && touch baz
[0] /tmp > ~/stuff/make-3.81/make bar1
touch foo bar
with "all" not depending on every target it's different:
[0] /tmp > sed -i "s/foo bar bar1/bar1/" Makefile
[0] /tmp > touch foo bar bar1 && touch baz
[0] /tmp > ~/stuff/make-3.81/make
touch foo bar
[0] /tmp > touch foo bar bar1 && touch baz
[0] /tmp > make
touch foo bar
regards,
michael
- Re: implementing emake's #pragma multi in GNU make?, Mark Galeck (CW), 2013/02/07
- Re: implementing emake's #pragma multi in GNU make?, Michael Stahl, 2013/02/07
- Re: implementing emake's #pragma multi in GNU make?, Mark Galeck, 2013/02/07
- Re: implementing emake's #pragma multi in GNU make?, Gerhard Fiedler, 2013/02/08
- Re: implementing emake's #pragma multi in GNU make?, Mark Galeck, 2013/02/08
- Re: implementing emake's #pragma multi in GNU make?, Gerhard Fiedler, 2013/02/10
- Re: implementing emake's #pragma multi in GNU make?, Mark Galeck, 2013/02/11
- Re: implementing emake's #pragma multi in GNU make?, Michael Ludwig, 2013/02/12
- Re: implementing emake's #pragma multi in GNU make?, Michael Stahl, 2013/02/08
- Re: implementing emake's #pragma multi in GNU make?, Mark Galeck, 2013/02/08
- Re: implementing emake's #pragma multi in GNU make?,
Michael Stahl <=
- Re: implementing emake's #pragma multi in GNU make?, Mark Galeck, 2013/02/08