To clean up the build directory and delete any downloaded files, use the clean target:
$ make -C gnu/hello clean
There are other useful targets. For example, the whole build sequence can be broken down into stages as follows:
$ make -C gnu/hello fetch checksum extract configure build install
Each target depends on the previous one, so typing
gnu/hello install executes all the earlier targets first.
You can install the source code of a package (to, i.e., /gnu/src/hello-2.9) using the install-src target. Likewise, the source can be removed using the uninstall-src target.
To see some information about a package, use the target pkg-info.
$ make -C gnu/hello pkg-info make: Entering directory `/home/gnu/gsrc/gnu/hello' Name: GNU Hello Version: 2.9 URL: http://www.gnu.org/software/hello/manual/ Description: GNU Hello prints the message "Hello, world!" and then exits. It serves as an example of standard GNU coding practices. As such, it supports command-line arguments, multiple languages, and so on. Status: installed (stowed) make: Leaving directory `/home/gnu/gsrc/gnu/hello'
The “Status” can be any of: “not installed”, “installed (not stowed)” or “installed (stowed)” (see Package versions).
To view a more concise summary, ideal for producing a list of packages in script, use the target pkg-info-curt.
$ make -C gnu/hello pkg-info-curt make: Entering directory `/home/gnu/gsrc/gnu/hello' gnu/hello 2.9 A program that produces a familiar, friendly greeting make: Leaving directory `/home/gnu/gsrc/gnu/hello'
To get a better idea of what files will be downloaded and which dependencies must be built in order to use a package, use the fetch-list target.
$ make -C gnu/hello fetch-list make: Entering directory `/home/gnu/gsrc/gnu/hello' Name: hello Version: 2.9 Location: http://ftpmirror.gnu.org/hello/ Distribution files: hello-2.9.tar.gz Patch files: Signature files: hello-2.9.tar.gz.sig Dependencies: make: Leaving directory `/home/gnu/gsrc/gnu/hello'
Most GNU packages are highly configurable. To see which configuration options are available to you, you may invoke the help-config target.
Finally, if you choose to remove a package, you may use the uninstall target. This target “un-stows” the package; if you were to re-install it, the package would not need to be re-built. Instead, it would merely be re-stowed. To completely remove a package, use the uninstall-pkg target. When you update a package to a new version, the old version is merely un-stowed and the new version is installed alongside it (see Package versions). In order to clean out old package versions, use the uninstall-pkg-old target.