On Tue, Apr 06, 2010 at 02:12:10PM -0400, Paul Smith wrote:
>       foo.cdb: foo.tcp ; tcprules $@ $*.tcp.tmp < $^
> 
> then it will use that.  If no explicit rule exists, then make will look
[...]

Ok.

> That leaves pattern rules, like you have defined.  This doesn't tell
> make "go find every .tcp file and turn it into a .cdb file".  What it
> tells make is, "if you want to build a .cdb file, and you can find
> a .tcp file, then here's a rule you can use to create the former
> (typically using the latter)".
> So, if you have a list of targets you want built when a user runs "make"
> by itself, they have to be a prerequisite of the first target (or a
> prerequisite of a prerequisite of the first target, etc.)

Now I have,

$ cat Makefile 
all : a.cdb b.cdb

%.cdb : %.tcp
        cat $^ | tcprules $@ tmp

$ make
make: *** No rule to make target `a.cdb', needed by `all'.  Stop.

What is wrong? a.cdb is now a prerequiste of the first target.


Thanks a lot. It is very nice of you to devout time for newbie question.


With warm regards,
-Payal
-- 




_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to