![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/share/GNUstep/Documentation/Developer/Make/Manual/gnustep-make/ |
Upload File : |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Other Variables (GNUstep Makefile Package)</title> <meta name="description" content="Other Variables (GNUstep Makefile Package)"> <meta name="keywords" content="Other Variables (GNUstep Makefile Package)"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="makeinfo"> <link href="index.html#Top" rel="start" title="Top"> <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> <link href="index.html#Top" rel="up" title="Top"> <link href="Overridable-Flags.html#Overridable-Flags" rel="prev" title="Overridable Flags"> <style type="text/css"> <!-- a.summary-letter {text-decoration: none} blockquote.indentedblock {margin-right: 0em} blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} div.display {margin-left: 3.2em} div.example {margin-left: 3.2em} div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} div.smalllisp {margin-left: 3.2em} kbd {font-style: oblique} pre.display {font-family: inherit} pre.format {font-family: inherit} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} span.nolinebreak {white-space: nowrap} span.roman {font-family: initial; font-weight: normal} span.sansserif {font-family: sans-serif; font-weight: normal} ul.no-bullet {list-style: none} --> </style> </head> <body lang="en"> <a name="Other-Variables"></a> <div class="header"> <p> Previous: <a href="Common-Variables.html#Common-Variables" accesskey="p" rel="prev">Common Variables</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p> </div> <hr> <a name="Other-Variables-1"></a> <h3 class="section">1.8 Other Variables</h3> <p>Since gnustep-make is a system of scripts rather than compiled code, all the source is always present and available to read, so the main documentation is intentionally provided as comments within that source. </p> <p>In particular, gnustep-make variables are documented at the head of the project-type files in which they are used. eg $GNUSTEP_MAKEFILES/Instance/library.make for the variables used to build a library. </p> <p>However, there are some variables which, while not in provided in <samp>common.make</samp> are of more general use, and therefore may reasonably be documented here: </p> <dl> <dt><a name="index-GS_005fWITH_005fARC-1"></a>Variable: <strong>GS_WITH_ARC</strong></dt> <dd><p><code>GS_WITH_ARC = 1</code> turns on ARC for the current build if using the Next Generation runtime setting. This variable may be defined as an environment variable, or on the make command line, or (usually) at the start of GNUmakefile. </p></dd></dl> <p>The variable needs to be defined before <samp>common.make</samp> is included, and the library-combo needs to be ng-gnu-gnu for it to take effect (in which case it causes the -fobjc-arc flag to be used when compiling any Objective-C source files). Alternatively, to switch on ARC for individual files, you can have a makefile fragment like this: </p><div class="smallexample"> <pre class="smallexample">ifeq ($(OBJC_RUNTIME_LIB), ng) file1.m_FILE_FLAGS+=-fobjc-arc file2.m_FILE_FLAGS+=-fobjc-arc file9.m_FILE_FLAGS+=-fobjc-arc endif </pre></div> <dl> <dt><a name="index-xxx_005fFILE_005fFILTER_005fOUT_005fFLAGS"></a>Variable: <strong>xxx_FILE_FILTER_OUT_FLAGS</strong></dt> <dd><p><code>xxx_FILE_FILTER_OUT_FLAGS</code> (where xxx is the file name, such as mframe.m) is a filter-out make pattern of flags to be filtered out from the compilation flags when compiling xxx. In exceptional conditions, you might need to want to use different compiler flags for a file (for example, if a file doesn’t compile with optimization turned on, you might want to compile that single file with optimizations turned off). </p></dd></dl> <div class="smallexample"> <pre class="smallexample">file.m_FILE_FILTER_OUT_FLAGS = -O% -fomit-frame-pointer </pre></div> <p>This says that when compiling file.m we should disable optimization flags, and also remove frame pointer information. </p> <dl> <dt><a name="index-xxx_005fFILE_005fFLAGS"></a>Variable: <strong>xxx_FILE_FLAGS</strong></dt> <dd><p><code>xxx_FILE_FLAGS</code> (where xxx is the file name, such as main.m) add special compilation flags to be used when compiling xxx. In exceptional conditions, you might need to want to use different compiler flags for a file (for example, if ou want to turn on automated reference counting for that file) </p></dd></dl> <div class="smallexample"> <pre class="smallexample">file.m_FILE_FLAGS = -fobjc-arc </pre></div> <p>This says that when compiling file.m we should turn on ARC. </p> <hr> <div class="header"> <p> Previous: <a href="Common-Variables.html#Common-Variables" accesskey="p" rel="prev">Common Variables</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p> </div> </body> </html>