I am having a problem with a pattern rule with gmake. To generate the
problem, a file called xxx (any file is fine) is needed in the same
directory as the make file and the directories bin and bin2 do not exist.
I am using gmake version:
>$ gmake -v
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i386-redhat-linux-gnu
Here is the make file:
============================================================
install : bin2 bin2/xxx bin bin/xxx ;
bin :
mkdir bin
bin2 :
mkdir bin2
bin2/xxx : xxx
cp $< $@
#bin/xxx : bin2/xxx
# cp $< $@
bin/% : bin2/%
cp $< $@
=====================================================================
When I run 'gmake install' I get the following error:
>$ gmake install
mkdir bin2
cp xxx bin2/xxx
mkdir bin
gmake: *** No rule to make target `bin/xxx', needed by `install'. Stop.
If I run it a second time I get:
>$ gmake install
cp bin2/xxx bin/xxx
So, the pattern rule appears to be correct. As well, if I uncomment the
explicit rules and run gmake install I get:
>$ gmake install
mkdir bin2
cp xxx bin2/xxx
mkdir bin
cp bin2/xxx bin/xxx
Which is what I expect when using the pattern rule. Is there an error in
the way I am using the pattern rule?
thanks,
ashif harji.
_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make