summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-04-14 01:17:42 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-04-14 01:17:42 +0000
commitb3de9210c819286206ac649886918c713f977be4 (patch)
treededf83769730aa99b4cff01ab67c902902e6f816
parentda731966b0ad8969cf1a8a33eb3651bd76287157 (diff)
downloadnuttx-b3de9210c819286206ac649886918c713f977be4.tar.gz
nuttx-b3de9210c819286206ac649886918c713f977be4.tar.bz2
nuttx-b3de9210c819286206ac649886918c713f977be4.zip
Add a README
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2592 42af7a65-404d-4744-a932-0658087f49c3
-rwxr-xr-xnuttx/Documentation/README.html8
-rwxr-xr-xnuttx/README.txt8
-rwxr-xr-xnuttx/tools/README.txt112
3 files changed, 122 insertions, 6 deletions
diff --git a/nuttx/Documentation/README.html b/nuttx/Documentation/README.html
index 686ed824b..885deaccf 100755
--- a/nuttx/Documentation/README.html
+++ b/nuttx/Documentation/README.html
@@ -143,6 +143,8 @@
| `- <a href="graphics/README.txt"><b><i>README.txt</i></b></a>
|- libxx/
| `- <a href="libxx/README.txt"><b><i>README.txt</i></b></a>
- `- netutils/
- |- <a href="netutils/telnetd/README.txt">telnetd/README.txt</a>
- `- <a href="netutils/README"><b><i>README</a></a>
+ |- netutils/
+ | |- <a href="netutils/telnetd/README.txt">telnetd/README.txt</a>
+ | `- <a href="netutils/README"><b><i>README</i></b></a>
+ `- tools/
+ `- <a href="tols/README.txt"><b><i>README.txt</i></b></a> \ No newline at end of file
diff --git a/nuttx/README.txt b/nuttx/README.txt
index 3222bad92..4c2fb772e 100755
--- a/nuttx/README.txt
+++ b/nuttx/README.txt
@@ -234,6 +234,8 @@ Below is a guide to the available README files in the NuttX source tree:
| `- README.txt
|- libxx/
| `- README.txt
- `- netutils/
- |- telnetd/README.txt
- `- README
+ |- netutils/
+ | |- telnetd/README.txt
+ | `- README
+ `- tools/
+ `- README.txt
diff --git a/nuttx/tools/README.txt b/nuttx/tools/README.txt
new file mode 100755
index 000000000..ea13db9a0
--- /dev/null
+++ b/nuttx/tools/README.txt
@@ -0,0 +1,112 @@
+tools/README.txt
+^^^^^^^^^^^^^^^^
+
+This README file addresses the contents of the NuttX tools/ directory.
+
+The tools/ directory contains miscellaneous scripts and host C programs
+that are necessary parts of the the NuttX build system. These files
+include:
+
+README.txt
+
+ This file
+
+configure.sh
+
+ This is a bash script that is used to configure NuttX for a given
+ target board. See configs/README.txt or Documentation/NuttxPortingGuide.html
+ for a description of how to configure NuttX with this script.
+
+mkconfig.c
+
+ This is C file that is used to build mkconfig program. The mkconfig
+ program is used during the intial NuttX build.
+
+ When you configure NuttX, you will copy a configuration file called .config
+ into the top level NuttX directory (See configs/README.txt or
+ Documentation/NuttxPortingGuide.html). The first time you make NuttX,
+ the top-level makefile will build the mkconfig executable from mkconfig.c
+ (using Makefile.mkconfig). The top-level Makefile will then execute the
+ mkconfig program to convert the .config file in the top level directory
+ into include/nuttx/config.h. config.h is a another version of the
+ NuttX configuration that can be included by C files.
+
+Makefile.mkconfig
+
+ This is the makefile that is used to make the mkconfig program from
+ the mkconfig.c C file.
+
+mkdeps.sh
+mknulldeps.sh
+
+ NuttX uses the GCC compilers capabilities to create Makefile dependencies.
+ The bash script mkdeps.sh is used to run GCC in order to create the
+ dependencies. If a NuttX configuration uses the GCC toolchain, its Make.defs
+ file (see configs/README.txt) will include a line like:
+
+ MKDEP = $(TOPDIR)/tools/mkdeps.sh
+
+ If the NuttX configuration does not use a GCC compatible toolchain, then
+ it cannot use the dependencies and instead it uses mknulldeps.sh:
+
+ MKDEP = $(TOPDIR)/tools/mknulldeps.sh
+
+ The mknulldeps.sh is a stub script that does essentially nothing.
+
+
+incdir.sh
+
+ Different compilers have different conventions for specifying lists
+ of include file paths on the the compiler command line. This bash
+ script allows the build system to create include file paths without
+ concern for the particular compiler in use.
+
+link.sh
+winlink.sh
+unlink.sh
+
+ Different file system have different capabilities for symbolic links.
+ Some windows file systems have no native support for symbolic links.
+ Cygwin running under windows has special links built in that work with
+ all cygwin tools. However, they do not work when Windows native tools
+ are used with cygwin. In that case something different must be done.
+
+ If you are building under Linux or under cygwin with a cygwin tool
+ chain, then your Make.defs file may have definitions like the
+ following:
+
+ DIRLINK = $(TOPDIR)/tools/link.sh
+ DIRUNLINK = (TOPDIR)/tools/unlink.sh
+
+ The first definition is not always present because link.sh is the
+ default. link.sh is a bash script that performs a normal, Linux-style
+ symbolic link; unlink.sh is a do-it-all unlinking script.
+
+ But if you are building under cygwin using a Windows native toolchain,
+ then you will need something like the following in you Make.defs file:
+
+ DIRLINK = $(TOPDIR)/tools/winlink.sh
+ DIRUNLINK = (TOPDIR)/tools/unlink.sh
+
+ winlink.sh will copy the whole directory instead of linking it.
+
+ NOTE: I have been told that some NuttX users have been able to build
+ successfully using the GnuWin32 tools and modifying the link.sh
+ script so that it uses the NTFS mklink command. But I have never
+ tried that
+
+mkimage.sh
+
+ The creates a downloadable image as needed with the rrload bootloader.
+
+indent.sh
+
+ This script can be used to indent .c and .h files in a manner similar
+ to my coding NuttX coding style. It doesn't do a really good job,
+ however (see the comments at the top of the indent.sh file).
+
+zipme.sh
+
+ I use this script to create the nutt-xx.yy.tar.gz tarballs for
+ release on SourceForge. It is handy because it also does the
+ kind of clean that you need to do to make a clean code release.