Hi,
With this makefile:
%.ot: %.dependency
cat $< > $@
goal:
$(MAKE) timestamp module.ot
.PHONY: timestamp module.ot
timestamp:
date > module.dependency
I get this:
sjl@faraday:~/make% make
make timestamp module.ot
make[1]: Entering directory `/mnt/home/sjl/make'
date > module.dependency
make[1]: Nothing to be done for `module.ot'.
make[1]: Leaving directory `/mnt/home/sjl/make'
Why isn't module.ot rebuilt?
Using a force target instead works:
%.ot: %.dependency
cat $< > $@
goal:
$(MAKE) timestamp module.ot
.PHONY: timestamp
FORCE:
module.ot: FORCE
timestamp:
date > module.dependency
sjl@faraday:~/make% make
make timestamp module.ot
make[1]: Entering directory `/mnt/home/sjl/make'
date > module.dependency
cat module.dependency > module.ot
make[1]: Leaving directory `/mnt/home/sjl/make'
It only seems to be a problem for targets with implicit patterns.
Platform is RedHat Linux 6.0 running on Pentium II and make versions
3.77 and 3.78.1 exhibit this problem.
TIA,
Simon
-----------------------------------------------------------------------
| Simon Liddington | Tel (home) : 01703 237935 |
| E-Mail : [EMAIL PROTECTED] | Tel (work) : 01420 544952 |
-----------------------------------------------------------------------