[EMAIL PROTECTED] wrote: > > All the variables and functions in a rule script are evaluated before > the first line is run. For example, in: > > foo: > echo $(FOO) > echo $(BAR) > > Make goes: > > evaluate FOO, evaluate BAR, run echo $(FOO), run echo $(BAR) > > and NOT: > > evaluate FOO, run echo $(FOO), evaluate BAR, run echo $(BAR)
I was assuming the latter was true, would explain why it's not doing what I expect > > tm> Any ideas? > > It's not clear to me what you're _really_ trying to do. Every time I build an executable I append some information about the build to a log file. This is done with a perl script called in one of the makefile rules. The script tags this information with a unique serial number, and sends this number to stdout. What I need to do is create a copy of the exe, and rename it with this unique number so I can keep track of which exes are available. So what I was hoping to do was basically something like this: a.exe : a.obj b.obj lnk a.obj b.obj $@ perl build_log.pl $(build_options) > new.number cp a.exe $(shell cat new.number).exe But now I have to do this: dummy.file: a.exe cp $< $(shell cat new.number).exe touch dummy.file a.exe : a.obj b.obj lnk a.obj b.obj $@ perl build_log.pl $(build_options) > new.number and instead of "gmake a.exe" I have to do "gmake dummy". A rather inelegant solution... Any comments or suggestions would be much appreciated. BTW, the perl script can't be altered. Tim -------------------------------------------------------- [EMAIL PROTECTED] _______________________________________________ Help-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-make