Re: Phony targets not being made

2020-02-13 Thread Dmitry Goncharov via Bug reports and discussion for GNU make
Good morning.

Your makefile is incorrect.
Make does not search implicit rules for phony targets.

regards, Dmitry

On Thu, Feb 13, 2020 at 2:31 PM  wrote:
>
> Hi
>
> I have the following makefile
> --
> PHON1 := rr1 rr2
> PHON2 := rr1-sim
>
> .PHONY: all $(PHON1)
> # remove below line to get rr1-sim done
> .PHONY: $(PHON2)
>
> all: $(PHON1) $(PHON2)
> @echo all done
>
> %-sim: %
> @echo doing $@
>
> $(PHON1):
> @echo doing $@
> --
> The command 'make' gives the output
> doing rr1
> doing rr2
> all done
> Thus rr1-sim is not done.
> The command 'make rr1-sim' gives the output
> make: Nothing to be done for 'rr1-sim'.
> Removing the phony declaration of rr1-sim makes things work as I expect.
> 'make' gives the output
> doing rr1
> doing rr2
> doing rr1-sim
> all done
>
> Is this a bug or is there anything wrong in the Makefile?
>
> Regards
> Christian Paulsen
>
>



Phony targets not being made

2020-02-13 Thread christian

Hi

I have the following makefile
--
PHON1 := rr1 rr2
PHON2 := rr1-sim

.PHONY: all $(PHON1)
# remove below line to get rr1-sim done
.PHONY: $(PHON2)

all: $(PHON1) $(PHON2)
@echo all done

%-sim: %
@echo doing $@

$(PHON1):
@echo doing $@
--
The command 'make' gives the output
doing rr1
doing rr2
all done
Thus rr1-sim is not done.
The command 'make rr1-sim' gives the output
make: Nothing to be done for 'rr1-sim'.
Removing the phony declaration of rr1-sim makes things work as I expect.
'make' gives the output
doing rr1
doing rr2
doing rr1-sim
all done

Is this a bug or is there anything wrong in the Makefile?

Regards
Christian Paulsen