From 1979ecdbc0a52e63d6b249edbc92aed095e005d7 Mon Sep 17 00:00:00 2001
From: patacongo by Gregory Nutt Last Update: November 14, 2008 Last Update: November 26, 2008
@@ -262,21 +248,21 @@
under Table of Contents
@@ -136,16 +137,17 @@
|-- configs/
| |-- <board-name>/
| | |-- include/
-| | | `-- (board-specific header files)
+| | | `-- (other board-specific header files)
| | |-- src/
-| | | |-- Makefile
-| | | `-- (board-specific source files)
-| | |---<config1-dir>/
-| | | `-- (board-specific/configuration-specific files)
-| | `---(other board-specific configuration sub-directories)/
+| | | `-- (board-specific source files)
+| | |---<config-name>/
+| | | `-- (board configuration-specific source files)
+| | `---(other configuration sub-directories for this board)/
| `-- <(other board directories)>/
|-- drivers/
| |-- Makefile
+| |-- (driver-specific sub-directories)/
+| | `-- (driver-specific source files)
| `-- (common driver source files)
|-- examples/
| `-- (example)/
@@ -153,20 +155,20 @@
| `-- (example source files)
|-- fs/
| |-- Makefile
+| |-- (file system-specific sub-directories)/
+| | `-- (file system-specific source files)
| `-- (common file system source files)
+|-- graphics/
+| |-- Makefile
+| |-- (feature-specific sub-directories)/
+| | `-- (feature-specific source files library source files)
+| `-- (common graphics-related source files)
|-- include/
| |-- (standard header files)
-| |-- arpa/
-| | `-- (standard header files)
-| |-- net/
-| | `-- uip/
-| | `-- (uIP specific header files)
-| |-- netinet/
-| | `-- (standard header files)
-| |-- nuttx/
-| | `-- (nuttx specific header files)
-| `- sys/
+| |-- (standard include sub-directories)
| | `-- (more standard header files)
+| |-- (non-standard include sub-directories)
+| `-- (non-standard header files)
|-- lib/
| |-- Makefile
| `-- (lib source files)
@@ -177,33 +179,17 @@
| |-- Makefile
| |-- uip/
| | `-- (uip source files)
-| `-- (socket source files)
+| `-- (BSD socket source files)
|-- netutils/
-| |-- dhcp/
-| | `-- (dhcp source files)
-| |-- resolv/
-| | `-- (resolv source files)
-| |-- smtp/
-| | `-- (smtp source files)
-| |-- telnetd/
-| | `-- (telnetd source files)
-| |-- uiplib/
-| | `-- (uiplib source files)
-| |-- weblclient/
-| | `-- (webclient source files)
-| |-- webserver/
-| | `-- (webserver source files)
| |-- Makefile
-| `-- (fs source files)
+| |-- (network feature sub-directories)/
+| | `-- (network feature source files)
+| `-- (netutils common files)
|-- sched/
| |-- Makefile
| `-- (sched source files)
-`-- tools/
- |-- Makefile.mkconfig
- |-- configure.sh
- |-- mkconfig.c
- |-- mkdeps.sh
- `-- zipme
+`-- tools/
+ `-- (miscellaneous scripts and programs)
arch/
with the following characteristics:
- <arch-name>/
- |-- include/
- | |--<chip-name>/
- | | `-- (chip-specific header files)
- | |--<other-chips>/
- | |-- arch.h
- | |-- irq.h
- | |-- types.h
- | `-- limits.h
- `-- src/
- |--<chip-name>/
- | `-- (chip-specific source files)
- |--<other-chips>/
- |-- Makefile
- `-- (architecture-specific source files)
+<arch-name>/
+|-- include/
+| |--<chip-name>/
+| | `-- (chip-specific header files)
+| |--<other-chips>/
+| |-- arch.h
+| |-- irq.h
+| |-- types.h
+| `-- limits.h
+`-- src/
+ |--<chip-name>/
+ | `-- (chip-specific source files)
+ |--<other-chips>/
+ |-- Makefile
+ `-- (architecture-specific source files)
2.2.2 Summary of Files
@@ -498,24 +484,23 @@
provide a subdirectory <board-name> under configs/
with the following characteristics:
- |-- Make.defs - |-- defconfig - `-- setenv.sh - <board-name> - |-- include/ - | `-- (board-specific header files) - |-- src/ - | |-- Makefile - | `-- (board-specific source files) - |-- <config1-dir> - | |-- Make.defs - | |-- defconfig - | `-- setenv.sh - |-- <config2-dir> - | |-- Make.defs - | |-- defconfig - | `-- setenv.sh - `-- (other board-specific configuration sub-directories)/ +<board-name> +|-- include/ +| |-- board.h +| `-- (board-specific header files) +|-- src/ +| |-- Makefile +| `-- (board-specific source files) +|-- <config1-dir> +| |-- Make.defs +| |-- defconfig +| `-- setenv.sh +|-- <config2-dir> +| |-- Make.defs +| |-- defconfig +| `-- setenv.sh +| ... +`-- (other board-specific configuration sub-directories)/
This directory holds architecture-independent device drivers.
++drivers/ +|-- Makefile +|-- bch/ +| |-- Make.defs +| `-- (bch driver source files) +|-- mmcsd/ +| |-- Make.defs +| `-- (mmcsd driver source files) +|-- net/ +| |-- Make.defs +| `-- (net driver source files) +|-- usbdev/ +| |-- Make.defs +| `-- (usbdev driver source files) +`-- (common driver source files) +
+fs/ +|-- Makefile +|-- fat/ +| |-- Make.defs +| `-- (fat file system source files) +|-- romfs/ +| |-- Make.defs +| `-- (romfs file system source files) + `-- (common file system source files) +-
+ This directory contains files for graphics/video support under NuttX. +
++graphics/ +|-- Makefile +|-- nxglib/ +| |-- Make.defs +| `-- (NuttX graphics library source files) +|-- nx/ +| |-- Make.defs +| `-- (Nuttx X-server source files) +`-- (common file system source files) ++ +
This directory holds NuttX header files. Standard header files file retained in can be included in the normal fashion:
include <:stdio.h>
include <stdio.h>
include <sys/types.h>
+ Directory structure: +
++include/ +|-- (standard header files) +|-- arpa/ +| `-- (standard header files) +|-- net/ +| `-- uip/ +| `-- (uIP specific header files) +|-- netinet/ +| `-- (standard header files) +|-- nuttx/ +| `-- (nuttx specific header files) +`- sys/ + `-- (more standard header files) + -2.8 lib
+2.9 lib
This directory holds a collection of standard libc-like functions with custom interfaces into Nuttx.
-2.9 mm
+2.10 mm
This is the NuttX memory manager.
-2.10 net
+2.11 net
This directory contains the implementation of the socket APIs. The subdirectory,
-uip
contians the uIP port.2.11 netutils
+2.12 netutils
- This directory contains most of the network applications contained under the uIP-1.0 apps directory. - As the uIP apps/README says, these applications "are not all heavily tested." + This directory contains most of the network applications. + Some of these are original with NuttX (like tftpc) and others were leveraged from the uIP-1.0 apps directory. + As the uIP apps/README says, these applications "are not all heavily tested."
+
+netutils/ +|-- Makefile +|-- dhcp/ +| |-- Make.defs +| `-- (dhcp source files) +|-- dhcpd/ +| |-- Make.defs +| `-- (dhcpd source files) +|-- resolv/ +| |-- Make.defs +| `-- (resolv source files) +|-- smtp/ +| |-- Make.defs +| `-- (smtp source files) +|-- telnetd/ +| |-- Make.defs +| `-- (telnetd source files) +|-- tftpc/ +| |-- Make.defs +| `-- (tftpc source files) +|-- uiplib/ +| |-- Make.defs +| `-- (uiplib source files) +|-- weblclient/ +| |-- Make.defs +| `-- (webclient source files) +|-- webserver/ +| |-- Make.defs +| `-- (webserver source files) +`-- (netutils common files) +-
The files forming core of the NuttX RTOS reside here.
-This directory holds a collection of tools and scripts to simplify - configuring and building NuttX. + configuring, building and maintaining NuttX.
++tools/ +|-- Makefile.mkconfig +|-- configure.sh +|-- incdir.sh +|-- indent.sh +|-- link.sh +|-- mkconfig.c +|-- mkdeps.sh +|-- mkimage.sh +|-- mknulldeps.sh +|-- unlink.sh +|-- winlink.sh +`-- zipme +-
The top-level Makefile
in the ${TOPDIR}
directory contains all of the top-level control
logic to build NuttX.
diff --git a/Makefile b/Makefile
index de2dec084b..eafdc5e01c 100644
--- a/Makefile
+++ b/Makefile
@@ -55,14 +55,13 @@ BOARD_DIR = configs/$(CONFIG_ARCH_BOARD)
# NuttX source tree (they must be specifically installed)
PCODE_DIR := ${shell if [ -r pcode/Makefile ]; then echo "pcode"; fi}
-NX_DIR := ${shell if [ -r graphics/nx/Makefile ]; then echo "graphics/nx"; fi}
ADDON_DIRS := $(PCODE_DIR) $(NX_DIR)
# FSDIRS depend on file descriptor support; NONFSDIRS do not
# (except for parts of FSDIRS). We will exclude FSDIRS
# from the build if file descriptor support is disabled
-NONFSDIRS = sched lib $(ARCH_SRC) mm examples/$(CONFIG_EXAMPLE) $(ADDON_DIRS) graphics/nxglib
+NONFSDIRS = sched lib $(ARCH_SRC) mm examples/$(CONFIG_EXAMPLE) $(ADDON_DIRS) graphics
FSDIRS = fs drivers
ifeq ($(CONFIG_NET),y)
@@ -94,7 +93,7 @@ endif
LINKLIBS = sched/libsched$(LIBEXT) $(ARCH_SRC)/libarch$(LIBEXT) mm/libmm$(LIBEXT) \
lib/liblib$(LIBEXT) examples/$(CONFIG_EXAMPLE)/lib$(CONFIG_EXAMPLE)$(LIBEXT) \
- graphics/nxglib/libnxglib$(LIBEXT)
+ graphics/libgraphics$(LIBEXT)
ifeq ($(CONFIG_NET),y)
LINKLIBS += net/libnet$(LIBEXT) netutils/libnetutils$(LIBEXT)
@@ -203,11 +202,8 @@ drivers/libdrivers$(LIBEXT): context
pcode/libpcode$(LIBEXT): context
@$(MAKE) -C pcode TOPDIR="$(TOPDIR)" libpcode$(LIBEXT)
-graphics/nxglib/libnxglib$(LIBEXT): context
- @$(MAKE) -C graphics/nxglib TOPDIR="$(TOPDIR)" libnxglib$(LIBEXT)
-
-graphics/nx/libnx$(LIBEXT): context
- @$(MAKE) -C graphics/nx TOPDIR="$(TOPDIR)" libnx$(LIBEXT)
+graphics/libgraphics$(LIBEXT): context
+ @$(MAKE) -C graphics TOPDIR="$(TOPDIR)" libgraphics$(LIBEXT)
examples/$(CONFIG_EXAMPLE)/lib$(CONFIG_EXAMPLE)$(LIBEXT): context
@$(MAKE) -C examples/$(CONFIG_EXAMPLE) TOPDIR="$(TOPDIR)" lib$(CONFIG_EXAMPLE)$(LIBEXT)
diff --git a/graphics/nxglib/Makefile b/graphics/Makefile
similarity index 79%
rename from graphics/nxglib/Makefile
rename to graphics/Makefile
index 04ba1358c8..6b39cd6764 100644
--- a/graphics/nxglib/Makefile
+++ b/graphics/Makefile
@@ -1,5 +1,5 @@
############################################################################
-# grapics/nxglib/Makefile
+# graphics/Makefile
#
# Copyright (C) 2008 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt