summaryrefslogtreecommitdiffstats
path: root/documentation/adt-manual
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2015-04-14 06:49:55 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-04-15 15:57:18 +0100
commitd654160eb2ea03aabd77b4bbc7a202d4179bcca3 (patch)
tree4cd272bb3639c87a18b0b72f49e0a56e80447a89 /documentation/adt-manual
parent941910f47faf3863646ef8b7c95e5fb855355d5c (diff)
downloadpoky-d654160eb2ea03aabd77b4bbc7a202d4179bcca3.tar.gz
adt-manual: Updated the Makefile-based project section.
Fixes [YOCTO #7133] Added more examples of how variables work in Makefile projects. (From yocto-docs rev: e8aa42f3609de3dfe94c022d957b855a4f7ef032) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/adt-manual')
-rw-r--r--documentation/adt-manual/adt-command.xml66
1 files changed, 45 insertions, 21 deletions
diff --git a/documentation/adt-manual/adt-command.xml b/documentation/adt-manual/adt-command.xml
index d6fa8ee4d4..5df6a6f621 100644
--- a/documentation/adt-manual/adt-command.xml
+++ b/documentation/adt-manual/adt-command.xml
@@ -210,31 +210,55 @@
210<title>Makefile-Based Projects</title> 210<title>Makefile-Based Projects</title>
211 211
212 <para> 212 <para>
213 For Makefile-based projects, the cross-toolchain environment 213 For Makefile-based projects, the cross-toolchain environment variables
214 variables established by running the cross-toolchain environment 214 established by running the cross-toolchain environment setup script
215 setup script override any settings you might have in your 215 are subject to general <filename>make</filename> rules.
216 <filename>Makefile</filename>. 216 </para>
217 For example, if you had settings such as the following in your 217
218 <filename>Makefile</filename>, the environment variables defined 218 <para>
219 by the script would override them: 219 To illustrate this, consider the following four cross-toolchain
220 environment variables:
220 <literallayout class='monospaced'> 221 <literallayout class='monospaced'>
221 <ulink url='&YOCTO_DOCS_REF_URL;#var-CC'>CC</ulink>=arm-poky-linux-gnueabi-gcc 222 <ulink url='&YOCTO_DOCS_REF_URL;#var-CC'>CC</ulink>=i586-poky-linux-gcc -m32 -march=i586 --sysroot=/opt/poky/1.8/sysroots/i586-poky-linux
222 <ulink url='&YOCTO_DOCS_REF_URL;#var-LD'>LD</ulink>=arm-poky-linux-gnueabi-ld 223 <ulink url='&YOCTO_DOCS_REF_URL;#var-LD'>LD</ulink>=i586-poky-linux-ld --sysroot=/opt/poky/1.8/sysroots/i586-poky-linux
223 <ulink url='&YOCTO_DOCS_REF_URL;#var-CFLAGS'>CFLAGS</ulink>=”${CFLAGS} --sysroot=&lt;sysroot-dir&gt;” 224 <ulink url='&YOCTO_DOCS_REF_URL;#var-CFLAGS'>CFLAGS</ulink>=-O2 -pipe -g -feliminate-unused-debug-types
224 <ulink url='&YOCTO_DOCS_REF_URL;#var-CXXFLAGS'>CXXFLAGS</ulink>=”${CXXFLAGS} --sysroot=&lt;sysroot-dir&gt;” 225 <ulink url='&YOCTO_DOCS_REF_URL;#var-CXXFLAGS'>CXXFLAGS</ulink>=-O2 -pipe -g -feliminate-unused-debug-types
225 </literallayout> 226 </literallayout>
226 Consequently, you should not set variables like 227 Now, consider the following three cases:
227 <ulink url='&YOCTO_DOCS_REF_URL;#var-CC'><filename>CC</filename></ulink> 228 <itemizedlist>
228 and 229 <listitem><para><emphasis>Case 1 - No Variables Set in the <filename>Makefile</filename>:</emphasis>
229 <ulink url='&YOCTO_DOCS_REF_URL;#var-LD'><filename>LD</filename></ulink> 230 Because these variables are not specifically set in the
230 in your <filename>Makefile</filename>. 231 <filename>Makefile</filename>, the variables retain their
231 For the list of variables set up by the cross-toolchain environment 232 values based on the environment.
232 setup script, see the 233 </para></listitem>
233 "<link linkend='setting-up-the-cross-development-environment'>Setting Up the Cross-Development Environment</link>" 234 <listitem><para><emphasis>Case 2 - Variables Set in the <filename>Makefile</filename>:</emphasis>
234 section. 235 Specifically setting variables in the
236 <filename>Makefile</filename> during the build results in the
237 environment settings of the variables being overwritten.
238 </para></listitem>
239 <listitem><para><emphasis>Case 3 - Variables Set when the <filename>Makefile</filename> is Executed from the Command Line:</emphasis>
240 Executing the <filename>Makefile</filename> from the command
241 line results in the variables being overwritten with
242 command-line content regardless of what is being set in the
243 <filename>Makefile</filename>.
244 In this case, environment variables are not considered unless
245 you use the "-e" flag during the build:
246 <literallayout class='monospaced'>
247 $ make -e <replaceable>file</replaceable>
248 </literallayout>
249 If you use this flag, then the environment values of the
250 variables override any variables specifically set in the
251 <filename>Makefile</filename>.
252 </para></listitem>
253 </itemizedlist>
254 <note>
255 For the list of variables set up by the cross-toolchain environment
256 setup script, see the
257 "<link linkend='setting-up-the-cross-development-environment'>Setting Up the Cross-Development Environment</link>"
258 section.
259 </note>
235 </para> 260 </para>
236</section> 261</section>
237
238</chapter> 262</chapter>
239<!-- 263<!--
240vim: expandtab tw=80 ts=4 264vim: expandtab tw=80 ts=4