Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- CA-Clipper 5.2 . Utilities - <b>program maintenance--(rmake.exe)</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Program Maintenance--(RMAKE.EXE)

 Overview

     Automates the maintenance of multi-file program systems by keeping files
     up to date.  It does this by comparing the date and time stamps of files
     related to one another and performs a series of actions if the date and
     time stamps do not match.

 Syntax

     RMAKE [<makeFile list>]
        [<macroDef list>] [<option list>]

 Command Line Arguments

     This is the command line syntax to invoke the CA-Clipper make utility.
     If issued without any arguments, a help screen is displayed.

     <makeFile list> is a list of one or more make files to process.  The
     default extension for this file is (.RMK).

     <macroDef list> is a list of one or more macro definitions of the
     form <macroName>=<value>.

     <option list> is a list of one or more options to control the course
     of the make, all of which are described below.

 RMAKE Options

     /B

     Displays debugging information.

     /D<macroName>[:<value>]

     Defines a macro and an optional value.  If the value is not supplied,
     the macro is defined with a null value.

     /I

     Ignores execution errors.

     /N

     Performs a null make displaying the commands that would be executed
     without actually executing them.

     /S

     Searches subdirectories for make files.

     /U

     Enables the # character as a comment indicator and suppresses its use as
     a directive indicator.

     /W

     Displays certain warning messages.

     /XS<numSymbols>

     Sets the size of the internal symbol table.  If not specified, the
     default is 500 symbols.

     /XW<numBytes>

     Sets the size of the internal workspace.  If not specified, the default
     is 2048 bytes.

 Comments

     Comments may be specified using C-style inline comments (e.g. /* .. */ )
     or C-style line comments (//) or, if the /U option is used, Unix make-
     style comments (#).  Comments cannot be nested.

 Dependency Rules

     A dependency rule causes certain actions to be performed if any of the
     dependent files have a newer date and time stamp than the target file:

     <targetFile>: <dependentFile list>
        [<action>]
        [<action>]...

 Inference Rules

     An inference rule is used to complete a dependency rule specified with
     no actions.  It defines the actions to take for any incomplete
     dependency rule that satisfies certain filename extensions:

     .<dependentExtension>.<targetExtension>:
        [<action>]
        [<action>]...

 Macro Definitions

     Macros are defined in make files using the following syntax:

     <macroName> = <value>

     Once defined, a macro can be referred to using the following syntax:

     $(<macroName>)

     To assign the contents of a macro to another macro, use the following
     syntax:

     <macroName> := $(<macroName>)

 Makepath Macros

     Makepath macros are special macros that define where RMAKE searches and
     creates classes of files as defined by extension.  Makepath macros are
     defined using the following syntax:

     makepath[.<extension>] = <pathSpec>

 Predefined Macros

     In addition to user-defined macros, there are several predefined macros
     that can be used to access dependency and target filenames.

     $*

     Expands to the target filename without a path or extension.

     $@

     Expands to the target filename including path and extension.

     $**

     Expands to the complete list of full dependency filenames.

     $<

     Expands to the full name of the first file in the dependent file list.

     $?

     Expands to a list of dependencies that have a more recent date and time
     stamp than the target file.

 Directives

     RMAKE provides directives to control the operation of the make process.
     Directives cannot be used as action lines.  Macros encountered in a
     directive are expanded immediately.  By default, either the # character
     or the ! character can be used to specify a directive. If the /U option
     is used, the # character is interpreted as a comment indicator, and
     cannot be used to specify directives.

     #! <action>

     Execute a DOS command.

     #else

     Executes statements between the #else and the next #endif directive when
     the corresponding #if directive evaluates to false (.F.).

     #end[if]

     Terminates the block of statements defined by a #if directive.

     #ifdef <macroName>

     Executes statements between the #ifdef directive and the corresponding
     #else or #endif directives if the specified <macroName> exists.

     #ifeq <word1> <word2>

     Executes statements between the #ifeq directive and the corresponding
     #else or #endif directives if <word1> and <word2> are identical.  A word
     consists of one or more characters up to the next white space character.
     To include a white space character within a word, enclose the word in
     double-quote (") marks.

     #iffile <fileSpec>

     Executes statements between the #iffile directive and the corresponding
     #else or #endif directives if any files match the specified <fileSpec>.

     #ifndef <macroName>

     Executes statements between the #ifndef directive and the corresponding
     #else or #endif directives if the specified <macroName> does not exist.

     #include .<fileName>.

     Inserts and processes the contents of <fileName> before continuing with
     the current make file.

     #stderr "<text>"

     Writes the <text> to the standard error file or device.

     #stdout "<text>"

     Writes the <text> to the standard output file or device.

     #undef <macroName>

     Removes any previous definition of the specified <macroName>.

See Also: SET RMAKE

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson