Attached is the scenario I'm dealing with.

I'm wondering why the failing make invocation isn't picking up the
default rule (and as a corollary why the two working versions of the
pattern rule do work correctly).

make -d wasn't any help to me here (or I didn't understand what it was
trying to tell me).

Any insights would be appreciated. Thanks

    -Etan
$ make -v | head -n1
GNU Make 3.81

$ rpm -q make
make-3.81-3.el5

$ cat Makefile
.SUFFIXES:

%.tar: %
        @echo $@ - $^

%.tar.sig: %.tar buildcmd
        @echo $@ - $^

%.tar.gz: %.tar.sig %.tar
        @echo $@ - $^

ifeq ($(TERMINAL_RULE),1)
%:: %.blarg
        @echo TERMINAL_RULE
else ifeq ($(PREFIX_RULE),1)
b%: b%.blarg
        @echo PREFIX_RULE
else
%: %.blarg
        @echo DEFAULT
endif
        @echo $@ - $^

$ touch buildcmd.blarg foo

$ make -n foo.tar.gz
make: *** No rule to make target `foo.tar.gz'.  Stop.

$ make -n buildcmd
echo DEFAULT
echo buildcmd - buildcmd.blarg

$ make -n foo.tar.gz TERMINAL_RULE=1
echo foo.tar - foo
echo TERMINAL_RULE
echo buildcmd - buildcmd.blarg
echo foo.tar.sig - foo.tar buildcmd
echo foo.tar.gz - foo.tar.sig foo.tar
rm buildcmd foo.tar.sig foo.tar

$ make -n foo.tar.gz PREFIX_RULE=1
echo foo.tar - foo
echo PREFIX_RULE
echo buildcmd - buildcmd.blarg
echo foo.tar.sig - foo.tar buildcmd
echo foo.tar.gz - foo.tar.sig foo.tar
rm buildcmd foo.tar.sig foo.tar
_______________________________________________
Help-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-make

Reply via email to