In a Makefile, I saw this:
all: .made
# ... some other code
.made: $(Program) bashbug
@echo "$(Program) last made for a $(Machine) running $(OS)" >.made
Is the .made
rule a suffix rule as per: https://www.gnu.org/software/make/manual/make.html#Suffix-Rules?
Also, are all rules with targets that have a .
in front suffix rules?
Otherwise, what is the significance of targets that start with .? It seems like there's a significance as per this in https://www.gnu.org/software/make/manual/make.html#How-Make-Works:
By default, make starts with the first target (not targets whose names start with ‘.’).
But its significance is not mentioned.
Also, if it is a suffix rule, how come .made
can be used as a prerequisite in the all rule? (It's not mentioned that the targets of suffix rules can be used as prerequisites in other rules.)
P.S.: This question is related to but different from what is the meaning for . (dot) before the target in makefile. This question asks explicitly for the difference between a target with . and a target of a suffix rule.