---
name: "pmk.conf"
section: "5"
platform: "linux"
package: "pmk"
version: "0.10.4-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/pmk.conf"
---

# pmk.conf(5)

premake configuration file

## NAME

**pmk.conf** – premake configuration file

## DESCRIPTION

**pmk.conf** contains a series of assignements that are used by [pmk(1)](/pmk/1.md) and created by [pmksetup(8)](/pmksetup/8.md).

## DATA TYPES

These are common types used by pmk, see [pmkfile(5)](/pmkfile/5.md) for a complete description.

## OPERATORS

- **=**

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

  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)](/pmksetup/8.md).

  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)](/pmk/1.md) 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)](/make/1.md), [pmk(1)](/pmk/1.md), [pmkscan(1)](/pmkscan/1.md), [pmkfile(5)](/pmkfile/5.md), [pmksetup(8)](/pmksetup/8.md)
