Make Targets

There are many different make targets that can be built. You can always find out what targets are available by running make help as shown below:

[pkb@salsa common]$ make help
make[1]: Entering directory `/home/pkb/vaisala/xml/common'

The following 'make' targets are available:

  help
	Displays this help screen
  all
	Make all standard targets (prepares for install)
  install
	After 'make all', use this target to install
  test
	After 'make install', runs tests to verify
  clean
	Removes temporary files not needed after 'make install'
  uninstall
	After 'make install', use this target to uninstall
  install-file-list
	Lists locations of files which were installed
  install-dir-list
	Lists locations of directories which were installed
  source-list
	Lists source files making up the package
  source-tar-gz
	Creates a tar.gz file (suitable for making a RPM)
  rpm-redhat
	Reconfigures and creates source/binary RPM for RedHat (root)
  rpm-redhat-config
	Reconfigures build for standard RedHat install
  pkg-solaris
	Reconfigures and creates package for Solaris
  pkg-solaris-config
	Reconfigures build for standard Solaris package

make[1]: Leaving directory `/home/pkb/vaisala/xml/common'

Here are some additional notes on the above targets:

help

Displays the short help screen.

all

This is the default target (what is assumed if you just run make). It builds everything necessary for installation. Assuming a default configuration, it places all of the files that need to be installed under the sub directory install. If you run the command (cd install; find .) | less you will see a list of file names and paths AS they will be installed on the system.

install

Assuming that you have the default configuration, this command basically does a recursive copy of the install sub directory to the top level directory on the system (/). After invoking this command, you should have new (or updated) files under the $HOME/usr directory (again assuming a default configuration).

test

All of the packages should have tests which they can run after installation to verify that things have built well and are working properly. Use this target after an installation if you want to double check that things were built correctly.

clean

This removes the temporary files created during the build process. It does not remove any of the installed files. This command removes the Makefile created by the configure script, so once you run it, you won't be able to make anything until you run the configure script again (so, you may want to consider make uninstall prior to cleaning).

uninstall

This command attempts to remove all of the files that were installed.

install-file-list

This command lists all of the files that were installed (or are ready to be installed). It does not list the directories. This target only works after a make all has been run.

install-dir-list

This command lists all of the directories that were used (or will be needed) for an installation. This target only works after a make all has been run.

source-list

This command lists all of the source files that are required to build the package (just the files checked into CVS are listed).

source-tar-gz

This command builds a gzipped tar file of all of the source files necessary to created the package. A RPM SPEC file is also included such that one should be able to build a RPM package via rpmbuild -tb FILE.tar.gz.

rpm-redhat

If you are logged in as root, you should be able to use this target to configure the package for a typical Linux installation and build the RPM in a single shot.

rpm-redhat-config

This command invokes the configure script and sets the approriate options for building a RPM package for a Linux system. It does not actually build the package.

pkg-solaris

If you are logged in as root on a Solaris system, you should be able to use this target to build a package suitable for installation on a Solaris based system.

pkg-solaris-config

This target invokes the configure script and prepares the development area for building a Solaris package, but doesn't actually build the Solaris package.