BSD make question
Ruslan Ermilov
ru at freebsd.org
Thu Aug 7 11:56:21 PDT 2003
On Thu, Aug 07, 2003 at 02:50:51PM -0400, Andrew Gallatin wrote:
>
> Ruslan Ermilov writes:
> > On Thu, Aug 07, 2003 at 02:42:30PM -0400, Andrew Gallatin wrote:
> > >
> > > Using BSD make, how can I apply different rules based on different
> > > directories while using only a single makefile?
> > >
> > There's a .CURDIR variable that can be used to conditionalize
> > parts of a makefile.
> >
> > > Ie, the appended Makefile results in the following compilations:
> > >
> > > gcc -DLIB -c lib/foo.c -o lib/foo.o
> > > gcc -DLIB -c lib/bar.c -o lib/bar.o
> > > gcc -DMCP -c mcp/baz.c -o mcp/baz.o
> > >
> > > Is it possible to do something similar with BSD make?
> > >
> > It just works "as is" with bmake. What's your problem, Drew? ;-)
> >
> > $ make -n
> > cc -O -pipe -march=pentiumpro -c lib/foo.c
>
> ;) But its missing the -DLIB or -DMCP.
>
> Thanks for the .CURDIR hint.
>
Ah, didn't notice it. Try this:
.for f in $(LIB)
$(f:.c=.o): $(f)
gcc -DLIB -c $< -o $@
.endfor
.for f in $(MCP)
$(f:.c=.o): $(f)
gcc -DMCP -c $< -o $@
.endfor
Cheers,
--
Ruslan Ermilov Sysadmin and DBA,
ru at sunbay.com Sunbay Software Ltd,
ru at FreeBSD.org FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20030807/9ea5160d/attachment.bin
More information about the freebsd-hackers
mailing list