[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: this is embarrasing... prerequisiste gets updated, but make still sa
From: |
Michael Ludwig |
Subject: |
Re: this is embarrasing... prerequisiste gets updated, but make still says it is older than target |
Date: |
Mon, 2 Apr 2012 20:07:21 +0200 |
User-agent: |
Mutt/1.5.20 (2009-12-10) |
address@hidden schrieb am 02.04.2012 um 09:36 (-0500):
> What if there were a directive one could issue to make to say "Re-read
> all timestamps", that could be included as a make command?
Wouldn't that be equivalent to starting make anew?
> One way would be to use the Make to Make communications, so you could
> write a rule like this:
>
> screwy_rule:
> do_weird_stuff
> $(MAKE) --command reread_timestamps
>
> Then the invoked version of Make could communicate to the main make to
> tell it to re-read (or just invalidate in cache) all time stamps.
And start all over again?
> Were you to do that, you'd also have a hook for other ways to control
> Make as well. For example, I have CORBA code that needs to parse the
> IDL to determine dependency data, and there's no good way right now
> for me to say to make "OK, now this rule has created a bunch of
> dependency and rule files for you, go re-read them."
Couldn't you code the requirement in such a way that some file like
IDLCHANGED.txt or MyMainIDLFile.idl is updated whenever the whole bunch
has to be reread? Then you would make the re-reading depend on that
signal file and update things for upstream targets to be triggered.
Michael
> Being able to do something like:
>
> include $(wildcard idl_generated/*mak)
> process_idl: foo.idl bar.idl narf.idl
> generate_files_from_idl
> $(MAKE) --command rescan_makes
>
> would really clean up the process.