autoconf: Single Suffix Rules

1 
1 12.19 Single Suffix Rules and Separated Dependencies
1 ====================================================
1 
1 A "Single Suffix Rule" is basically a usual suffix (inference) rule
1 (`.from.to:'), but which _destination_ suffix is empty (`.from:').
1 
1    "Separated dependencies" simply refers to listing the prerequisite
1 of a target, without defining a rule.  Usually one can list on the one
1 hand side, the rules, and on the other hand side, the dependencies.
1 
1    Solaris `make' does not support separated dependencies for targets
1 defined by single suffix rules:
1 
1      $ cat Makefile
1      .SUFFIXES: .in
1      foo: foo.in
1      .in:
1              cp $< $@
1      $ touch foo.in
1      $ make
1      $ ls
1      Makefile  foo.in
1 
1 while GNU Make does:
1 
1      $ gmake
1      cp foo.in foo
1      $ ls
1      Makefile  foo       foo.in
1 
1    Note it works without the `foo: foo.in' dependency.
1 
1      $ cat Makefile
1      .SUFFIXES: .in
1      .in:
1              cp $< $@
1      $ make foo
1      cp foo.in foo
1 
1 and it works with double suffix inference rules:
1 
1      $ cat Makefile
1      foo.out: foo.in
1      .SUFFIXES: .in .out
1      .in.out:
1              cp $< $@
1      $ make
1      cp foo.in foo.out
1 
1    As a result, in such a case, you have to write target rules.
1