help-make
[Top][All Lists]
Advanced

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

supporting multiple independent checkouts of a project


From: Robert P. J. Day
Subject: supporting multiple independent checkouts of a project
Date: Sun, 12 Feb 2006 07:31:25 -0500 (EST)

  a while back, i inherited a couple of projects, both of which had
the unfortunate property that, when you checked them out of CVS, they
needed to be checked out to *exactly* the same location in the user's
home directory because some parts of the directory structure needed to
know about other parts and were therefore hard-coded in the build
process.  i found that just a little annoying so i made the following
changes.

  assuming a project whose name was, say, "fred", i rewrote the parts
of the build process that *had* to know about other parts in terms of
a FRED_DIR environment variable, and told the users they needed to
define FRED_DIR to represent the TOP_DIR location of the checkout they
were working in.  if they decided to check out another instance of
that project and work there, all they needed to do was redefine
FRED_DIR on the fly, then "cd", and everything would work fine.

  in addition, the project had a directory of .mk files that were
being "include"d from other makefiles.  in order to be able to pick
these up, i created a project-specific alias "fredmake":

  $ alias fredmake="make -I${FRED_DIR}/mkfiles"

where that top-level mkfiles/ directory contained all of those utility
makefiles.

  there was some griping from people who didn't want to re-learn
having to type "fredmake" instead of "make" but this seemed to be the
cleanest solution to supporting multiple projects and multiple
checkouts of those projects.

  is there a cleaner, standard way to do this?  this struck me as a
fairly simple way to do it, but maybe i'm missing something simpler
and easier.

rday




reply via email to

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