%% Leoj Naws <[EMAIL PROTECTED]> writes:

  ln> Most of them do not need any conversion at all but a
  ln> few have a substitution macro which I just can't seem
  ln> to convert over to using gnu make's syntax. I have
  ln> made a simple version of one of the makefiles which
  ln> shows the construct. I have also included the
  ln> clearmake & gnu make output.

  ln> The target / macro in problem looks like this:

  ln> $(DERIVED_DIRS:=/.touch): $$(@:/.touch=)

The $$@ syntax is not standard (although various SystemV based versions
of make support it).

GNU make supports that syntax starting with version 3.80, but even that
version doesn't support substitutions on it like this.

  ln> $(DERIVED_DIRS:=/.touch): $$(@:/.touch=)
  ln>   @echo "TOUCH  $@ "

See the GNU make manual for GNU make 3.79; there's a section there on
"Missing Features and Incompatibilities" and the solutionthey give for
the $$@ feature is what you Want: static pattern rules:

  $(DERIVED_DIRS:=/.touch) : %/.touch : %
        @echo "TOUCH  $@ "

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[EMAIL PROTECTED]>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist


_______________________________________________
Help-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/help-make

Reply via email to