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




Reply via email to