help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: implementing emake's #pragma multi in GNU make?


From: Mark Galeck
Subject: Re: implementing emake's #pragma multi in GNU make?
Date: Thu, 7 Feb 2013 20:22:32 -0800 (PST)


--- On Thu, 2/7/13, Michael Stahl <address@hidden> wrote:

> if the build system has generated a file, then it should be
> able to
> re-generate it if needed; that's its job.  

Well, let's agree to disagree here, then.  If you delete a crucial intermediate 
file without knowing what you are doing, then in my opinion it's not the build 
system's job to do anything other than say "it's your fault, now you have to do 
a complete clean".  Only touching sources is supported, not touching 
intermediate files.  That's my firm belief, so let's disagree.  


> there is also a more serious problem with just a dependency
> but no rule
> for "bar": make will not re-build targets that depend on
> "bar", because
> without a rule for "bar" make assumes that it's still up to
> date.  this
> means that the make invocation that builds "foo" will not
> rebuild all
> dependent files, and the next time you invoke make it will
> see that
> "bar"'s timestamp is newer and _then_ build its dependents.


Nothing like that, I just tried:


address@hidden ~]$ cat Makefile
bar1: bar
 touch $@

bar: foo
foo : baz
 touch foo bar
address@hidden ~]$ touch bar1 foo bar
address@hidden ~]$ touch baz
address@hidden ~]$ make bar1
touch foo bar
touch bar1
address@hidden ~]$ make bar1
make: `bar1' is up to date.
address@hidden ~]$




reply via email to

[Prev in Thread] Current Thread [Next in Thread]