Hi,
I have found that the following simple makefile produces an error with GNU
make 3.77: (I have tried this using a PC running RH Linux 6.1 and an IBM
RS/6000 running AIX 4.3.2, with the same results.)
test/file.o : $$(@F)
@ echo $(@F)
@ echo $(@D)
file.o : test/file.c
The current working directory contains the above makefile, plus a
subdirectory called test which contains the (empty) file `file.c'.
I would expect this makefile simply to echo to the screen
file.o
test
which does indeed happen using the version of make bundled with AIX 4.3. But,
using GNU make 3.77 the following error message occurs:
make: *** No rule to make target `$(@F)', needed by `test/file.o'. Stop.
Clearly there is a problem with the $$(@F) dependency. If no dependencies are
given, or 'file.o' is explicitly given as the dependency, then the correct
stuff is echoed to the screen, which implies that $(@F) works fine on the @
echo command lines.
Can you help? If you could it would be very useful for me, as I use make and
cpp to administer quite a large company intranet, in a very succinct way!
Shortly, GNU make may be the only option open to us, as we will shortly be
removing the AIX version of make from our network!
Regards,
Peter Knight
----------------------------------------------------------------------
Dr Peter J. Knight E-mail: [EMAIL PROTECTED]
Theory and Modelling Department Tel: +44 (0)1235 464181
UKAEA Culham, D3 Culham Science Centre Fax: +44 (0)1235 463647
Abingdon, Oxon, OX14 3DB, UK WWW: http://www.fusion.org.uk/