help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: simple pattern rules


From: Payal
Subject: Re: simple pattern rules
Date: Tue, 6 Apr 2010 22:04:41 -0700
User-agent: Mutt/1.5.18 (2008-05-17)

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
-- 






reply via email to

[Prev in Thread] Current Thread [Next in Thread]