[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
make: "dynamic" targets?
From: |
kj |
Subject: |
make: "dynamic" targets? |
Date: |
Mon, 26 Jun 2006 22:37:14 +0000 (UTC) |
User-agent: |
nn/6.7.2 |
Pardon the cryptic title, but I don't know the correct terminology...
I want to write Makefile that starts out by downloading a file from
a remote site, but the obstacle I'm facing is that the name of the
downloaded file is not known at the time of writing the Makefile;
it changes over time. The only thing that remains constant is a
suffix. E.g. at various times, the downloaded file may be 123_foo.tgz,
786_foo.tgz, 2110_foo.tgz, etc.
I can write the rule for performing this download, but I can't
figure out how to write rules that work with the resulting download.
Just to be concrete, suppose the rule for download is something
like this:
download:
wget -N ftp://ftp.foobar.org/latest/*_foo.tgz
and assume that the directory ftp.foobar.org/latest always contains
exactly one file matching the pattern *_foo.tgz, though the full
name of this file changes over time. (BTW, the -N flag tells wget
to download a file only if its latest-modification time is more
recent than the one for a local copy of the same file, but I guess
I don't need to explain this to this crowd :) .)
OK now, how would I write a rule to run "tar xzf" on this downloaded
file *only if* it was "just downloaded"?
This doesn't sound like such an unusual situation but I'm thoroughly
stumped. For one thing, the directory resulting from running "tar
xzf" on a fresh download doesn't even exist yet, since its name
would have the form *_foo for some novel value of *, so make could
not compare the latest modification times of the new download
against that of this hypothetical directory...
Help!
TIA,
kj
--
NOTE: In my address everything before the first period is backwards;
and the last period, and everything after it, should be discarded.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- make: "dynamic" targets?,
kj <=