Nick Ing-Simmons wrote:
>Steve Hay <[EMAIL PROTECTED]> writes:
>
>
>>OK, forget the previous example makefile.mk which was playing with
>>one.txt. Let's look at a couple that more closely resembles Perl's
>>win32/makefile.mk:
>>
>>makefile1.mk
>>============
>>.USESHELL :
>>FILE = ..\tmp\foo\bar.txt
>>all : makefile1.mk $(FILE)
>>$(FILE) : make_file
>>make_file : ..\tmp\foo\mkbar.pl
>> cd ..\tmp\foo && perl mkbar.pl
>>
>>
>>If I run "dmake -f makefile1.mk" from C:\Temp then C:\tmp\foo\bar.txt
>>gets written every time, even if it is up-to-date already.
>>
>>
>>Furthermore, GNU make behaves the same way, which suggests I've missed
>>something somewhere, rather than this being a problem with dmake.
>>
>>Why doesn't makefile1.mk work properly?
>>
>>
>
>It is trying to cause ./make_file to come into existance, when that
>has happened $(FILE) will be up to date, and so will all
>but it never does so they ain't.
>
Grr. I think this is actually what Spider Boardman was saying last week
(http://marc.theaimsgroup.com/?l=perl5-porters&m=108634191703958&w=2),
which I obviously mis-interpreted. Sorry.
So how to I tell dmake that make_file is a "pseudo-target" (as you
originally referred to it yourself). dmake does have the .PHONY
attribute that Spider Boardman mentioned, but I couldn't see how to make
use of it. This makes no difference:
.USESHELL :
FILE = ..\tmp\foo\bar.txt
all : makefile1.mk $(FILE)
$(FILE) : make_file
.PHONY : make_file
make_file : ..\tmp\foo\mkbar.pl
cd ..\tmp\foo && perl mkbar.pl
dmake's manpage says this of the .PHONY attribute:
Any target with this attribute set will have
its recipe executed each time the target is
made even if a file matching the target name
can be located. Any targets that have a
.PHONY attributed target as a prerequisite
will be made each time the .PHONY attributed
prerequisite is made.
Or is there no way to make this work? If not then we'll have to revert
to your other suggestion (nominating one of the $(UNIDATAFILES) as the
only dependency --
http://marc.theaimsgroup.com/?l=perl5-porters&m=108618038227388&w=2).
- Steve
------------------------------------------------
Radan Computational Ltd.
The information contained in this message and any files transmitted with it are
confidential and intended for the addressee(s) only. If you have received this
message in error or there are any problems, please notify the sender immediately. The
unauthorized use, disclosure, copying or alteration of this message is strictly
forbidden. Note that any views or opinions presented in this email are solely those
of the author and do not necessarily represent those of Radan Computational Ltd. The
recipient(s) of this message should check it and any attached files for viruses: Radan
Computational will accept no liability for any damage caused by any virus transmitted
by this email.