[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