02.05.2013 Views

Description - Mks.com

Description - Mks.com

Description - Mks.com

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

is true if the given string is non-empty,<br />

string == string<br />

is true if the two strings are equal, and<br />

string != string<br />

is true if the two strings are not equal.<br />

Typically, one or both strings contain macros that make expands before <strong>com</strong>paring. make also<br />

discards white space at the start and end of the text portion before the <strong>com</strong>parison. This means<br />

that a macro that expands to nothing but white space is considered an empty value for the purpose<br />

of the <strong>com</strong>parison. If a macro expression needs to be <strong>com</strong>pared to an empty string, <strong>com</strong>pare it to<br />

the value of the macro NULL for readability.<br />

The text enclosed in the conditional construct must have the same format that it would have<br />

outside the conditional. In particular, make assumes that anything that starts with a tab inside the<br />

conditional is a recipe line. This means that you cannot use tabs to indent text inside the<br />

conditional (except, of course, for recipe lines that always begin with tabs).<br />

Functions<br />

make supports the following function:<br />

$(shell shell_cmd)<br />

performs the same function that backquotes (`shell_cmd`) do in most shells. That is, it<br />

performs <strong>com</strong>mand substitution, returning the output of the specified shell <strong>com</strong>mand,<br />

shell_cmd and subsituting it into the surrounding text, after first replacing each newline or<br />

carrige-return/newline pair with a single space and removing any trailing newline or carriagereturn/newline<br />

pair.<br />

The <strong>com</strong>mand specified with the shell function is run when the the function call is<br />

expanded. Because this function involves spawning a new shell, you should carefully<br />

consider the performance implications of using the shell function within recursively<br />

expanded variables as opposed to simply expanded variables.<br />

Software Configuration Management Integration<br />

make provides integration with a variety of Software Configuration Management (SCM)<br />

applications.<br />

The SCM environment variable determines not only if SCM integration is enabled, but also which<br />

429 of 457

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!