[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

Reply via email to