Hit "Send" too soon.
To make matters more complicated, in the previous snippet, if I declare `echo.%' as below (w/o any pattern-rule prerequisite) then Make behaves as expected. ————————————————————————————————————————————————————————————————— #################################################### # ./mk/echo.mk #################################################### .PHONY : echo.% echo.% : @echo 'echo invoked with "$(*)"' #################################################### # shell #################################################### $ make echo.hello-there echo invoked with "hello-there" ————————————————————————————————————————————————————————————————— 🤯 On Wed, 2023-10-04 at 07:34 -0700, Bahman Movaqar wrote: > Hey all 👋 > > To my mind, whenever a target is marked as PHONY it is supposed to > simply > ignore files with the same name. And that should be the behaviour of > PHONY pattern rules too. > > With that said, I need some help understanding what happens in the > following scenario please. > > > ————————————————————————————————————————————————————————————————— > > #################################################### > # shell > #################################################### > > $ ls * > > Makefile > > mk: > echo.mk > > #################################################### > # ./Makefile > #################################################### > > include mk/echo.mk > > #################################################### > # ./mk/echo.mk > #################################################### > > .PHONY : a-target > > a-target.% : > @echo 'a-target invoked with "$(*)"' > > ### > > .PHONY : echo.% > > echo.% : a-target.invoked-by-echo > @echo 'echo invoked with "$(*)"' > > #################################################### > # shell > #################################################### > > $ make echo.hello-there > > a-target invoked with "invoked-by-echo" > echo invoked with "mk/mk" > echo invoked with "hello-there" > > ————————————————————————————————————————————————————————————————— > > I wasn't expecting PHONY `echo.%' to be invoked for `echo.mk' which is > a > file. > > Am I missing something obvious in my snippet? Have I misunderstood the > concept of PHONY? -- Bahman Join the chatter on Matrix: 🗣️ https://matrix.to/#/#.mk:matrix.org Subscribe to the Lemmy community: 🐭 https://lemmy.ml/c/makefile