PMK.CONF(5)

NAME
pmk.conf - premake configuration file

DESCRIPTION
pmk.conf contains a series of assignements that are used by pmk(1) and created by pmksetup(8).

DATA TYPES
These are common types used by pmk, see pmkfile(5) for a complete description.

OPERATORS

=   This operator makes the value dynamic, which means that it will be (re)assigned everytime you run pmksetup(8).

    For example:

        BIN_CC = "/usr/bin/cc"

:   This operator makes the value static, which means that if you want to regenerate the pmk.conf, the value will be kept and not dynamically assigned by pmksetup(8).

    For example:

        BIN_INSTALL:"/usr/local/bin/install"

FAMILY CLASSES
Assignements can be classed in different families.

AC_*
    Compatibility with autoconf.

BIN_*
    This class is used for binary paths.

HW_*
    Hardware related data like for example byte order or cpu features.

PATH_*
    Specific paths family.

OS_*
    System specific data.

misc
    Some other data (such as PREFIX) cannot fit into previous families.

AC CLASS
This class is providing some variables for GNU Autoconf compatibility:

AC_ECHO_C
    Support for "\c".

AC_ECHO_N
    Support for "\n".

AC_ECHO_T
    Support for "\t".

BIN CLASS
This class is providing locations of various useful binaries such as ar, as, cc, cpp, ...

HW CLASS
This class is giving some information about the host hardware.

HW_BYTEORDER
    Provide the byte order of the host: 'BIG_ENDIAN' or 'LITTLE_ENDIAN'.

HW_CPU_ARCH
    Identify the cpu architecture.
We support actually the following architectures (with cpu identification for some of them):

alpha

    HW_ALPHA_CPU_CLASS
        Cpu class (EV4, EV5 or EV6).

    HW_ALPHA_CPU_FEATURES
        Cpu features list (BWX, FIX, CIX, MVI, PAT and PMI)

ia_64

    HW_IA64_CPU_ARCHREV
        Cpu architecture revision number.

    HW_IA64_CPU_CLASS
        Cpu class ('Itanium' or 'Itanium2')

    HW_IA64_CPU_FAMILY
        Cpu family number.

    HW_IA64_CPU_FEATURES
        Cpu features list (LB, SD and AO).

    HW_IA64_CPU_MODEL
        Cpu model number.

    HW_IA64_CPU_REVISION
        Cpu revision number.

    HW_IA64_CPU_VENDOR
        Cpu vendor string.

m68k
    No specific variables.

parisc_64
    No specific variables.

ppc No specific variables.

sparc_32
    No specific variables.

sparc_64
    No specific variables.

x86_32

    HW_X86_CPU_CLASS
        Cpu family class (386, 486, 586, ...).

    HW_X86_CPU_EXTFAM
        Extended family number.

    HW_X86_CPU_EXTMOD
        Extended model number.

    HW_X86_CPU_FAMILY
        Cpu family number.

    HW_X86_CPU_FEATURES
        Cpu features list (FPU, VME, DE, PSE, TSC, ...).

    HW_X86_CPU_MODEL
        Cpu model number.

    HW_X86_CPU_STD_VENDOR
        Standardised cpu vendor ('INTEL', 'AMD', ...).

    HW_X86_CPU_VENDOR
        Cpu vendor string.

x86_64
    Same as x86_32 architecture.

vax No specific variables.

OS CLASS
This class is providing informations about the host's operating system:

OS_ARCH
    Operating system architecture (warning: this is OS specific).

OS_NAME
    Operating system name (warning: linux distributions return the kernel name).

OS_VERSION
    Operating system version (warning: linux distributions return the kernel version).

PATH CLASS
This class is providing path for binaries, headers and libraries.

MISC CLASS
This class is regrouping what can not be classed elsewhere.

PREFIX
    Prefix environnement variable.

SYSCONFDIR
    System configuration directory.

PC_PATH_LIB
    Library path for pmkpc or pkg_config.

FILES
/etc/pmk/pmk.conf
    default pmk(1) configuration file

EXAMPLES
A typical pmk.conf might appear as follows:

    # autoconf compatibility
    AC_ECHO_C = "\c"
    AC_ECHO_N = ""
    AC_ECHO_T = ""

    # specific binaries
    BIN_AR = "/usr/bin/ar"
    BIN_AS = "/usr/bin/as"
    BIN_AWK = "/usr/bin/awk"
    BIN_CAT = "/bin/cat"
    BIN_CC = "/usr/bin/cc"
    BIN_CPP = "/usr/bin/cpp"
    BIN_CXX = "/usr/bin/c++"
    BIN_ECHO = "/bin/echo"
    BIN_EGREP = "/usr/bin/egrep"
    BIN_GREP = "/usr/bin/grep"
    BIN_ID = "/usr/bin/id"
    BIN_INSTALL = "/usr/bin/install"
    BIN_LEX = "/usr/bin/lex"
    BIN_LN = "/bin/ln"
    BIN_PKGCONFIG = "/usr/local/bin/pkg-config"
    BIN_RANLIB = "/usr/bin/ranlib"
    BIN_SH = "/bin/sh"
    BIN_STRIP = "/usr/bin/strip"
    BIN_SUDO = "/usr/bin/sudo"
    BIN_TAR = "/bin/tar"
    BIN_YACC = "/usr/bin/yacc"

    # architecture specific
    HW_BYTEORDER = "LITTLE_ENDIAN"
    HW_CPU_ARCH = "x86_32"
    HW_X86_CPU_CLASS = "i686"
    HW_X86_CPU_EXTFAM = "0"
    HW_X86_CPU_EXTMOD = "0"
    HW_X86_CPU_FAMILY = "15"
    HW_X86_CPU_FEATURES = "FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFL DTES ACPI MMX FXR SSE SSE2 HTT TM1 PBE FPU MON DSCPL EST TM2 CX16 ETPRD "
    HW_X86_CPU_MODEL = "2"
    HW_X86_CPU_STD_VENDOR = "INTEL"
    HW_X86_CPU_VENDOR = "GenuineIntel"

    # OS related
    OS_ARCH = "i386"
    OS_NAME = "OpenBSD"
    OS_VERSION = "3.6"

    # PATH related
    PATH_BIN = "/bin,/sbin,/usr/bin,/usr/sbin,/usr/X11R6/bin,/usr/local/sbin,/usr/local/bin"
    PATH_INC = "/usr/include"
    PATH_LIB = "/usr/lib"

    # misc
    PC_PATH_LIB = "$PREFIX/lib/pkgconfig"
    PREFIX = "/usr/local"
    SYSCONFDIR = "/etc"

SEE ALSO
make(1), pmk(1), pmkscan(1), pmkfile(5), pmksetup(8)