Provided by: zmk-doc_0.5.1-2_all bug

NAME

       Directories — module providing names and rules for common directories

SYNOPSIS

       include z.mk

       $(eval $(call ZMK.Import,Directories))

DESCRIPTION

       The  module  Directories provides names and rules for commonly used directories. Is is used indirectly by
       other targets, to know where to install files of various  types,  but  can  be  also  imported  and  used
       directly for custom rules.

       All directories are derived from the value of prefix.  The default value is /usr/local, which is suitable
       for  locally-built and installed software packages.  Linux distribution packages are compiled with prefix
       of /usr, along with dedicated values of sysconfdir and other variables.  This  customization  is  usually
       handled by invoking the configure script with specific command-line options.

TARGETS

       This  module  provides  targets that create all the directories mentioned below, also taking into account
       the $(DESTDIR) variable.

VARIABLES

       This module provides the following variables.

   DESTDIR
       Temporary staging location used while building software packages. It is  prepended  to  all  installation
       targets, to allow them to be redirected to another directory, usually without root privileges.

   prefix
       Prefix of all the other directories.

       The default value is /usr/local.

   exec_prefix
       Prefix of directories where executables are installed.

       The default value is $(prefix).

   bindir
       Directory with programs available to all users.

       The default value is $(exec_prefix)/bin.

   sbindir
       Directory with programs available to system administrators.

       The default value is $(exec_prefix)/sbin.

   libexecdir
       Directory with programs used not directly invoked by the user.

       The default value is $(exec_prefix)/libexec.

       This  directory  differs  between  two  major  distribution lines, RedHat and Debian and their respective
       derivatives. The former uses /usr/libexec while the latter uses /usr/lib.

   datarootdir
       Directory several classes of data files.

       The default value is $(prefix)/share.

   datadir
       Directory with architecture independent data files.

       The default value is $(datarootdir).

   sysconfdir
       Directory with system configuration files.

       The default value is $(prefix)/etc.

       In distribution packaging this directory is typically overridden to be detached from prefix and hold  the
       literal value /etc.

   sharedstatedir
       Directory with system state shared among machines on the network.  Virtually extinct, do not use it.

       The default value is $(prefix)/com.

   localstatedir
       Directory with persistent system state, private to the current machine.

       The default value is $(prefix)/var.

   runstatedir
       Directory with ephemeral system state, private to the current machine.

       The default value is $(prefix)/run.

   includedir
       Directory with C, C++ and Objective C header files.

       The default value is $(prefix)/include.

   docdir
       Directory with documentation specific to the project.

       The  default value is $(prefix)/doc/$(Project.Name).  Since the value depends on Project.Name, it is only
       defined when Project.Name is non-empty.

   infodir
       Directory with documentation in the Info format.

       The default value is $(prefix)/doc/info.

   libdir
       Directory with static or dynamic libraries.

       The default value is $(exec_prefix)/lib.

       This directory differs between Linux distributions. Some distributions differentiate  between  32bit  and
       64bit libraries while others store libraries in a directory named after the architecture triplet they are
       compiled  for.  It is common for one system to use a mixture of directories used at the same time, mainly
       to adhere to file system hierarchy standards.

   localedir
       Directory with localization catalogs, including message translation tables.

       The default value is $(datarootdir)/locale.

   mandir
       Directory root for manual pages. Actual manual pages are stored in sub-directories named after the manual
       section number.

       The default value is $(datarootdir)/man.

   man1dir .. man9dir
       Directory with manual pages of a specific section.

       The default value is $(mandir)/man1 ..  $(mandir)/man9.

EXAMPLES

       The following example illustrates a way to install  the  program  foo  to  the  directory  with  programs
       available to all the users. The order-only prerequisite ensures that the target directory is created.

             include z.mk

             $(eval $(call ZMK.Import,Directories))

             $(DESTDIR)$(bindir)/foo: foo | $(DESTDIR)$(bindir)
                     install $< $@

HISTORY

       The Directories module first appeared in zmk 0.3

AUTHORS

       Zygmunt Krynicki <me@zygoon.pl>

zmk 0.5.1                                          May 3, 2020                                zmk.Directories(5)