Chapter 2. make+ theory of operation

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:

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.