[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Opposite of .PHONY
From: |
Eric Hanchrow |
Subject: |
Re: Opposite of .PHONY |
Date: |
Mon, 21 Aug 2006 16:02:14 -0700 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.51 (gnu/linux) |
>>>>> "Thomas" == Thomas Mogwitz <address@hidden> writes:
Thomas> Now I would like make to run the command only if one of
Thomas> the prerequisites has been remade. But since 'install' is
Thomas> no file, make does it always. I don't really like the
Thomas> idea of creating an empty file with each command that
Thomas> builds one of the prerequisites. Is there another way?
My understanding is that you only need a single empty file for the
"install" target, not "an empty file with each command that builds one
of the prerequisites". For example, from (info "(make)Empty
Targets"), I see
print: foo.c bar.c
lpr -p $?
touch print
With this rule, `make print' will execute the `lpr' command if either
source file has changed since the last `make print'. The automatic
variable `$?' is used to print only those files that have changed
(*note Automatic Variables::).
I think that would do what you want, if you substituted "install" for
"print", and various installation commands for "lpr".
--
I hope to get back to work on Arc soon.
-- Paul Graham, quoted in "ACM Crossroads", no date given