mkmf(1)

mkmf(1)

CFLAGS C compiler ¯ags. After searching for included ®les in the directory currently being processed, mkmf searches in directories named in -Icompiler options and then in the /usr/include directory.

COMPILESYSTYPE

Location of /usr/include . If the COMPILESYSTYPE macro or environment variable is de®ned, mkmf searches for included ®les in /$COMPILESYSTYPE/usr/include instead of /usr/include .

CXXFLAGS

C++ compiler ¯ags. After searching for included ®les in the directory currently being

 

processed, mkmf searches in directories named in -Icompiler options and then in the

 

/usr/include/CC directory, followed by the /usr/include directory.

DEST

Directory where the program or library is to be installed.

EXTHDRS

List of included ®les external to the current directory. mkmf automatically updates

 

this macro de®nition in the make®le if dependency information is being generated.

FFLAGS

Fortran compiler ¯ags. After searching for included ®les in the directory currently

 

being processed, mkmf searches in directories named in -Icompiler options, then in

 

the /usr/include directory.

HDRS

List of included ®les in the current directory. mkmf automatically updates this macro

 

de®nition in the make®le.

INSTALL

Installation program name.

LD

Link editor name.

LDFLAGS

Link editor ¯ags.

LIBRARY

Library name. This macro also implies the -loption.

LIBS

List of libraries needed by the link editor to resolve external references.

MAKEFILE

Make®le name.

OBJS

List of object ®les. mkmf automatically updates this macro de®nition in the make®le.

PROGRAM

Program name.

SRCS

List of source code ®les. mkmf automatically updates this macro de®nition in the

 

make®le.

SUFFIX

List of additional ®le name suf®xes for mkmf to know about.

SYSHDRS

List of included ®les found in the /usr/include directory hierarchy. mkmf

 

automatically updates this macro de®nition in the make®le if dependency information

 

is being generated. If SYSHDRS is omitted from the make®le, mkmf does not gen-

 

erate /usr/include dependencies.

Both these and any other macro de®nitions already within the make®le can be replaced by de®nitions on the command line in the form macroname=value. For example, to change the C compiler ¯ags and the program name, type the following line:

mkmf "CFLAGS=-I../include -O" PROGRAM=mkmf

Note that macro de®nitions such as CFLAGS with blanks in them must be enclosed in double quote (") marks.

Environment

The environment is read by mkmf. All variables are assumed to be macro de®nitions with the exception of HDRS, EXTHDRS, SRCS, and OBJS. Environment variables are processed after command line macro de®nitions and the macro de®nitions in a make®le. The -eoption forces the environment to override the macro de®nitions in a make®le.

File Name Suf®xes

mkmf can recognize additional ®le name suf®xes, or ignore ones that it already recognizes, by specifying suf®x descriptions in the SUFFIX macro de®nition. Each suf®x description takes the form .suf®x:tI where t is a character indicating the contents of the ®le ( s = source ®le, o = object ®le, h = header ®le, x = executable ®le) and I is an optional character indicating the include syntax for header ®les (C = C syntax, C++ = C syntax plus the addition of /usr/include/CC as a standard search directory, F = Fortran and

HP-UX Release 11i: December 2000

− 2 −

Section 1533

m