Adding to README, libftdi is needed on OS X. Also reworded that paragraph a little.
[fw/cortex-toolchain] / README
diff --git a/README b/README
index 5e4bf55ecc61e508a7832b0546148c01395455b5..fce80674662086459120d0b5d8b35aea336dade1 100644 (file)
--- a/README
+++ b/README
 REMEMBER!
----------
+=========
 THE RESULTING TOOLCHAIN IS FOR BARE BONE ARM PROCESSOR SOFTWARE. NOT FOR USE
 WITH GLIBC OR THE LINUX KERNEL. DO NOT EVEN BOTHER TO ASK FOR THAT!
 
 To compile the ARM toolchain for barebone ARM devices:
-------------------------------------------------------
-* Edit the shell script to match your environment
-* Run it
+======================================================
+* Run ./summon-arm-toolchain
 * Profit
 
+Command line options
+====================
+
+You can suffix the script call with the following variable parameters:
+
+TARGET=
+-------
+
+By default the target is arm-none-eabi, you may want to use a different target, for example arm-elf. Use that option on your own risk it may brake things.
+
+PREFIX=
+-------
+
+By default the installation prefix is "$(HOME)/sat" you can change it to "/usr" then the binaries will be installed into "/usr/bin" and the toolchain specific files in "/usr/arm-none-eabi" assuming you did not change the TARGET variable.
+
+DARWIN_OPT_PATH=
+----------------
+
+When compiling on Mac OS X the build script has to know where MacPorts or Fink is installed. The default value is "/opt/local".
+
+SUDO=
+-----
+
+By default this variable is empty. If you need root rights for the install step you may set this variable to "sudo".
+
+./summon-arm-toolchain SUDO=sudo
+
+This will prefix all make install steps with the sudo command asking for your root password.
+
+QUIET=
+------
+
+By default set to 0. To decrease console output (may increase compile speed in some cases) you can set this variable to 1.
+
+USE_LINARO=
+-----------
+
+By default set to 1. To disable the usage of the Linaro GCC and use of the vanilla GCC instead set to 0.
+
+OOCD_EN=
+--------
+
+By default set to 1. To disable compilation of OpenOCD JTAG programming software set to 0.
+
+LIBSTM32_EN=
+------------
+
+By default set to 0. To enable compilation of the non free libstm32 library set to 1.
+
+LIBOPENSTM32_EN=
+----------------
+
+By default set to 1. To disable compilation of the open source libopenstm32 library set to 0.
+
+DEFAULT_TO_CORTEX_M3=
+---------------------
+
+By default set to 0. To enable compilation of binutils and GCC to generate code for the Cortex-M3 ARM architecture by default set to 0. Tests have shown that using these options is not very reliable and is discouraged. It is more reliable to add the necessary options to your build environment instead.
+
+CPUS=
+-----
+
+Overrides the autodetection of CPU cores on the host machine. This option is translated into the -j$CPUS+1 option to the make command when running the script.
+
+Example:
+--------
+
+./summon-arm-toolchain LIBSTM32_EN=1 CPUS=5
+
+this will run the script with libstm32 enabled and with 5 cpus on your host machine resulting in calling all make commands with -j6.
+
 Currently tested and known to work target platforms:
-----------------------------------------------------
-* STM32F10x (Olimex STM32-H103 eval board, Open-BLDC v0.1, v0.2, v0.3)
+====================================================
+
+* STM32F10x (Olimex STM32-H103 eval board, Open-BLDC v0.1, v0.2, v0.3, v1.0)
 
 Currently tested and known to work host platforms:
---------------------------------------------------
+==================================================
+
 * Linux 32bit and 64bit (Debian unstable)
 * Mac OS X Snow Leopard with MacPorts
 
 Notes for Mac OS X users:
--------------------------
-You need to install gmp, mpfr, mpc and libiconv packages using MacPorts,
-DarwinPorts or fink. GCC-4.5.1 requires them.
+=========================
 
-port install gmp mpfr libmpc
+For Mac OS X there are a few dependencies which must be installed. The wget
+and libftdi packages are required and gmp, mpfr, mpc and libiconv are needed
+by GCC-4.5.1. These can be installed using MacPorts, DarwinPorts or fink.
+
+port install gmp mpfr libmpc wget libftdi
 
 For xml support in gdb you may want to install expat too. And add the 
 --with-expat parameter to GDB target.
 
 Notes for Linux users:
-----------------------
+======================
+
 You need to install several packages on debian just run:
 
 apt-get install flex bison libgmp3-dev libmpfr-dev libncurses5-dev \
@@ -43,7 +118,7 @@ For xml support in gdb you may want to install libexpat1 and libexpat1-dev
 too. 
 
 Usage notes:
-------------
+============
 
 As we support multilib now in SAT thanks to Eric Parsonage's and Bernard
 Davison's amazing work. You want to use the following GCC flag combinations to
@@ -60,7 +135,8 @@ You can list available combinations by running:
 arm-none-eabi-gcc -print-multi-lib
 
 How to submit improvements and patches
---------------------------------------
+======================================
+
 As more and more people start to submit patches and improvements to
 Summon-Arm-Toolchain (SAR) this section seems to become necessary.