[Top][All Lists]

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

building a recursive make structure using external sources

From: Robert P. J. Day
Subject: building a recursive make structure using external sources
Date: Wed, 26 May 2004 08:33:30 -0400 (EDT)

  as i work my way thru the make manual, i figured i'd ask this as others
may very well have gone through this.

  is there a standard way to put together a make-based build structure in
which the source itself is not contained within the build directory
structure itself, but is incorporated from external sources, *but* the
build is done locally.  that is, i don't just want to "make -C <over
there> <target>".  i want to include the stuff from "over there" as if it
were local, and have all the intermediate results (executables, object
files, whatever) generated within my current directory.

  i've seen software that allows you to do this thru the "configure" 
option, identifying a "source" directory or something like that, but of 
course that would work only for software that supports a configuration 
option for that, and a lot of it doesn't.

  the idea is that i want to have a source repository of common pieces
that multiple projects can take advantage of (a single common linux kernel
source tree, shared among similar projects).  as i see it, i have a couple
of general choices:

1) just plain copy the source for all the required components into my 
local build tree each time.  simple.  straightforward.  kind of wasteful,
but guaranteed to work.

2) recursively set up symlinks to "fake" the inclusion of the entire 
source component locally.  clever.  cool.  probably overkill.

  any other thoughts?  surely others have played with this.


p.s.  of course, one of the implied rules is that my build structure would 
never, ever, *ever* change the included source, which could be set 
read-only to force that restriction.  (it would also keep developers from 
doing underhanded things like changing the source quietly to get around 
problems. :-)

reply via email to

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