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.
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.8 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.8 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.8 Location: http://ftpmirror.gnu.org/hello/ Distribution files: hello-2.8.tar.gz Patch files: Signature files: hello-2.8.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.