The GENDIST Toolkit


Table of Toplevel Targets

Below is a list of standard targets of the toplevel makefile.

CONTENTS

  1. Images and Filesystems
  2. Targets to create the Build-Environment
  3. Help and Information
  4. Cleanup
  5. Distribution packages
  6. Version numbers
  7. Package specific targets

Images and Filesystems

Targets to create the images and file-systems:

Name Description
media The default target. This creates the disk-images of the distribution (depending on the type this is equivalent to the targets 'img' or 'iso').
floppies Copies the disk-images (if available) to physical floppies.
img Creates the floppy or floppies of the distribution (depends on the media-type).
iso For CD-types only. Creates the ISO9660-image (with Rock-Ridge extensions).
root-fs Creates the root-filesystem of the distribution.
cd-fs For CD-types only. Creates the filesystem on the CD.
foo-fs Creates the filesystem foo-fs. Note that the "-fs" is significant.

Top


Targets to create the Build-Environment

If you need to create a special build-environment for your distribution, you can use the following targets:

Name Description
env Creates the build-environment. This targets processes all packages defined in env_PACKAGES. Theses environment-packages are searched for below DIST_ROOT/src/packages/env. See "The build-environment" for details.
env-clean Cleanup of build-environment.
env-distclean Cleanup of build-environment for distribution.

Top


Help and Information

Targets to request help or information:

Name Description
help Shows generic help.
help-targets Shows available targets (depends on media-type).
help-types Shows available types (the output depends on the -t option you passed to gendist.sh).
help-params Explains standard and type-specific configuration parameters.
help-config Shows current values of configuration parameters.
help-version Shows version information about the distribution and the GENDIST-version of the build-system

Top


Cleanup

Targets to cleanup created files (currently, the core build-system shows no difference between these targets, but your own packages might use them differently).

Name Description
clean Remove created files.
distclean Remove also files which should not go into the distribution packages.
mrproper Remove everything possible.

Top


Distribution packages

Targets to create distribution packages:

Name Description
src-dist Creates a source distribution package. This includes all files of the build-system and all files not removed by 'make distclean'. The name of the generated archive is DistributionName-version-src.tar.bz2.
bin-dist Creates a binary distribution with only the created image-files and all administrative files (README, NEWS, ChangeLog). Note that 'make bin-dist' recreates the image-files, so if you need to pass arguments to make, you should also pass them to 'make bin-dist'. The name of the generated archive is DistributionName-version-bin.tar.bz2.

Top


Version numbers

Targets to change the version number:

Name Description
inc-dist-major Increments the major version number of the distribution and sets the minor version number and the patch-level to zero.
inc-dist-minor Increments the minor version number of the distribution and sets the patch-level to zero.
inc-dist-pl Increments the patch-level of the distribution.

Top


Package specific targets

Targets to build/clean/install individual packages:

Name Description
package-target Make a specific target of a given package in a given filesystem. Syntax: make package-target package=foo fs=root-fs target=bar
package-src-archive Create a source-archive of a given package. Syntax: make package-src-archive package=foo fs=root-fs. This creates the file DIST_NAME-VERSION-package-src-tar.bz2. Packages in this format are the preferred means of sharing packages.
package-bin-archive Create a binary-archive of a given package. Syntax: make package-bin-archive package=foo fs=root-fs. This creates the file DIST_NAME-VERSION-package-bin-tar.bz2. This package can directly be unpacked under foo-fs. You can use the "tar"-package of GENDIST_ROOT/examples/packages/tar to automate this. Note that creating binary packages does not always work, since the package might depend on other packages being installed first.
foo_ Builds (and installs) the package named foo. All prereq-packages are also processed.
foo_install Builds (and installs) the package named foo. No prereq-packages are processed.
foo_clean Cleanup package named foo.

Top


My Homepage
Bernhard Bablok (mail @ bablokb.de)