A make+-enabled package
contains a single file called Makefile+
located in the top-level source directory.
make+ should never
be used recursively, so you will not need more than
one Makefile+
file even if your
package source contains subdirectories.
make+ has the notion of a "pristine"
source directory. This means that
make+ should never create
intermediate files (object files, Java class files and the like)
directly in the source directory. Instead,
make+ creates a build directory
before it starts to store intermediate build files. Normally
this directory is called something like
build-i686-unknown-linux
but it may, of
course, be something different on your particular machine and
operating system.
The make+ command is a shell script which performs the following steps:
Creates the build directory if it doesn't exist already.
Change into the build directory, ie. cd build-foo-bar
Set the GNU make environment
variable MAKEFILES
. This causes GNU
make to load the
make+ library first.
Run gmake -f ../Makefile+. Because
MAKEFILES
has been set, GNU make will
first load the make+ library,
and second load Makefile+
from the
top level of the source directory.
Because make+ runs in the
build subdirectory, intermediate files shouldn't
pollute the source directory. For this reason,
make+ can use a very
simple scheme when it builds a source tarball of
the package: it just treats every file in the source
directory as a source file, ignoring only the
build subdirectory itself and files with names
like foo~
and CVS
.