Thank you for your comments, Philip!

I have read related parts of GNU Make manual and it is
very informative. I have also updated my Makefile
according to your comments. Please help to check
whether it is better now. :-)

SRC_DIR=src
OBJ_DIR=debug
SRC=foo.c goo.c
OBJ=goo.o goo.o

I think in this way, it is more elegant according to
your comments. Agree?

Then, I think I need a rule to compile foo.c and goo.c
from src directory into foo.o and goo.c to debug
directory. Do you know how to write such a rule?


thank you,
George

--- Philip Guenther <[EMAIL PROTECTED]> wrote:

> On 8/31/06, Lin George <[EMAIL PROTECTED]>
> wrote:
> > I have two further questions,
> >
> > 1. when you say "a pattern rule" or "static
> pattern
> > rule", do you mean the built-in implicit rules of
> GNU
> > Make?
> 
> Nope.  The terms "pattern rule" and "static pattern
> rule" are
> described in the GNU make info pages.  Please check
> there for the full
> explanations.
> 
> 
> > 2. This line you suggested,
> >
> > > $(OBJ_DIR): debug/%.o: src/%.c
> >
> > I am confused about it. Since there are two :
> sign,
> > means two dependencies? In one line?
> 
> Nope.  The presence of two colons is part of what
> makes this a static
> pattern rule.  That line specifies that for each
> file in the
> $(OBJ_DIR) variable, make should try to match the
> pattern "debug/%.o"
> against it.  If that succeeds, then make should act
> like there's a
> rule building that file with a dependency on the
> matching file
> "src/%.c"
> 
> 
> Philip Guenther
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


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

Reply via email to