makefile_gnu

clearmake compatibility with Gnu make

APPLICABILITY


Product

Command Type

ClearCase


data structure


ClearCase LT


data structure


Platform

UNIX


Windows

SYNOPSIS

clearmake -C gnu

DESCRIPTION

NOTE: The distinctive features of clearmake, such as build auditing, derived object sharing, and build avoidance, are supported in dynamic views only. In addition, while parallel building is supported in ClearCase snapshot views, it is not supported in ClearCase LT.

The clearmake program has been designed for compatibility with existing make programs, minimizing the work necessary to switch to clearmake. There are many independently evolving variants of make which provide different sets of extended features. clearmake does not support all features of all variants, and absolute compatibility is not guaranteed. If your makefiles use only the common extensions, they will probably work with clearmake.

NOTE: When building with configuration records, clearmake handles double-colon rules differently from other make programs. For details, see Building Software.

VPATH Separator Character

As separators in the VPATH macro you can use spaces, colons (UNIX), or semicolons (Windows). For more information, see the makefile_ccase reference page.

Using UNIX-Style Command Shells in Your Windows makefile

clearmake accepts either slashes ( / ) or backslashes ( \ ) in pathnames. However, clearmake uses a backslash as the separator in any pathnames that it constructs in build scripts (for example, as a result of VPATH directory searching). This can cause problems with UNIX-like command shells that require slashes in any pathnames supplied to them in command lines.

If you are using such a shell (for example, by setting the SHELL makefile variable accordingly), you can force clearmake to use slashes when constructing pathnames. To do this, set the CMAKE_PNAME_SEP environment variable:

CMAKE_PNAME_SEP = /

You can set CMAKE_PNAME_SEP in the makefile, in the BOS file, on the command line, or as an environment variable.

Compatibility

clearmake provides partial compatibility with Gnu make. This section provides the details.

Supported Gnu Make Command-Line Options-clearmake supports most of the single-character subset of Gnu Make's command-line interface. However, clearmake does not accept any of the long-form spellings for Gnu Make command options.

NOTE: If you need to use the long form spellings, you can write a Perl wrapper that translates the long-form options into short form and invokes clearmake with the short-form options.

clearmake -C gnu supports the following Gnu Make command-line options:

-b

Disables Gnu's built-in rules (equivalent to gnumake -R).
-d

Prints debugging information in addition to normal processing messages.
-e

Gives variables taken from the environment precedence over variables from makefiles.
-f FILE

Reads FILE as a makefile.
-i

Ignores all errors in commands executed to remake files.
-k

Continues as much as possible after an error.
-I DIR

Specifies a directory DIR to search for included makefiles.
-n

Prints the commands that would be executed, but does not execute them.
-p

Prints the database (rules and variable values) that results from reading the makefiles, then executes as usual or as otherwise specified.
-r

Eliminates use of the built-in implicit rules.
-s

Silent operation. Does not print the commands as they are executed.
-v

Prints the version of the make program.
-w

Prints a message containing the working directory both before and after executing the makefile.
-q

Question mode. Does not run any commands or print anything. Returns an exit status of 0 if the specified targets are already up to date, or 1 if any remaking is required.

Unsupported Gnu Make Command-Line Options - The following options are not supported:

Supported Gnu Make Features - The following features are enabled with -C gnu (see the Gnu Make manual for details):

Unsupported Gnu Make Features - The following features are not currently supported:

SEE ALSO

clearmake, clearmake.options, makefile_ccase, omake