%% John Elliott <[EMAIL PROTECTED]> writes:

  je> I am using the cygwin Make under NT4. I am having a problem using
  je> the automatic variables $(*F) and $(*D) in my makefile, they don't
  je> hold any value. The other automatic variables such as $(@F) and
  je> $(<D) do work.

  je> DUMMY_2 = $(OBJECTS:.o=.d2)

  je> $(DUMMY_2) :
  je>   @ rm $(*D)/$(*F).d
  je>   make -f makefile.dbg $(*D)/$(*F).d
  je>   @ type $(*D)/$(*F).d >>depend.d

Read the description of the $* attribute in the GNU make manual,
section "Automatic Variables".  You have an explicit rule here, not an
implicit or static pattern rule, and ".d2" is not a known suffix, so the
behavior you see is exactly as documented.

You can use the $(basename ...) function to remove the suffix, rather
than using $* and friends.

Also, you should see my web page below for a paper on a much more
sophisticated way of handling dependency generation than you appear to
be using here... try it; you'll like it.

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

Reply via email to