Skip to content
Snippets Groups Projects
Commit 351d2071 authored by Gregory Nutt's avatar Gregory Nutt
Browse files

Separate flat, protected, and kernel mode library selected into separate...

Separate flat, protected, and kernel mode library selected into separate files.  The conditional logic as exceed my able to comprehend and maintain the selections.
parent a8de6be1
No related branches found
No related tags found
No related merge requests found
......@@ -43,43 +43,27 @@
NUTTXLIBS = lib$(DELIM)libsched$(LIBEXT)
USERLIBS =
# Add libraries for syscall support. The C library will be needed by
# both the kernel- and user-space builds. For now, the memory manager (mm)
# is placed in user space (only).
ifeq ($(CONFIG_BUILD_PROTECTED),y)
NUTTXLIBS += lib$(DELIM)libstubs$(LIBEXT) lib$(DELIM)libkc$(LIBEXT) lib$(DELIM)libkmm$(LIBEXT)
NUTTXLIBS += lib$(DELIM)libkarch$(LIBEXT)
USERLIBS += lib$(DELIM)libproxies$(LIBEXT) lib$(DELIM)libuc$(LIBEXT) lib$(DELIM)libumm$(LIBEXT)
USERLIBS += lib$(DELIM)libuarch$(LIBEXT)
else
NUTTXLIBS += lib$(DELIM)libc$(LIBEXT) lib$(DELIM)libmm$(LIBEXT) lib$(DELIM)libarch$(LIBEXT)
# Add libraries for syscall support.
NUTTXLIBS += lib$(DELIM)libc$(LIBEXT) lib$(DELIM)libmm$(LIBEXT)
NUTTXLIBS += lib$(DELIM)libarch$(LIBEXT)
ifeq ($(CONFIG_LIB_SYSCALL),y)
NUTTXLIBS += lib$(DELIM)libstubs$(LIBEXT)
USERLIBS += lib$(DELIM)libproxies$(LIBEXT)
endif
endif
# Add libraries for C++ support. CXX, CXXFLAGS, and COMPILEXX must
# be defined in Make.defs for this to work!
ifeq ($(CONFIG_HAVE_CXX),y)
ifeq ($(CONFIG_BUILD_PROTECTED),y)
USERLIBS += lib$(DELIM)libcxx$(LIBEXT)
else
NUTTXLIBS += lib$(DELIM)libcxx$(LIBEXT)
endif
endif
# Add library for application support.
ifneq ($(APPDIR),)
ifeq ($(CONFIG_BUILD_PROTECTED),y)
USERLIBS += lib$(DELIM)libapps$(LIBEXT)
else
NUTTXLIBS += lib$(DELIM)libapps$(LIBEXT)
endif
endif
# Add libraries for network support
......@@ -110,13 +94,8 @@ endif
ifeq ($(CONFIG_NX),y)
NUTTXLIBS += lib$(DELIM)libgraphics$(LIBEXT)
ifeq ($(CONFIG_BUILD_PROTECTED),y)
NUTTXLIBS += lib$(DELIM)libknx$(LIBEXT)
USERLIBS += lib$(DELIM)libunx$(LIBEXT)
else
NUTTXLIBS += lib$(DELIM)libnx$(LIBEXT)
endif
endif
# Add libraries for the Audio sub-system
......
############################################################################
# KernalLibs.mk
#
# Copyright (C) 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
# NUTTXLIBS is the list of NuttX libraries that is passed to the
# processor-specific Makefile to build the final NuttX target.
# Libraries in FSDIRS are excluded if file descriptor support
# is disabled.
# USERLIBS is the list of libraries used to build the final user-space
# application
NUTTXLIBS = lib$(DELIM)libsched$(LIBEXT)
USERLIBS =
# Add libraries for syscall support. The C library will be needed by
# both the kernel- and user-space builds. For now, the memory manager (mm)
# is placed in user space (only).
NUTTXLIBS += lib$(DELIM)libstubs$(LIBEXT) lib$(DELIM)libkc$(LIBEXT)
NUTTXLIBS += lib$(DELIM)libkmm$(LIBEXT) lib$(DELIM)libkarch$(LIBEXT)
USERLIBS += lib$(DELIM)libproxies$(LIBEXT) lib$(DELIM)libuc$(LIBEXT)
USERLIBS += lib$(DELIM)libumm$(LIBEXT) lib$(DELIM)libuarch$(LIBEXT)
# Add libraries for C++ support. CXX, CXXFLAGS, and COMPILEXX must
# be defined in Make.defs for this to work!
ifeq ($(CONFIG_HAVE_CXX),y)
USERLIBS += lib$(DELIM)libcxx$(LIBEXT)
endif
# Add libraries for network support
ifeq ($(CONFIG_NET),y)
NUTTXLIBS += lib$(DELIM)libnet$(LIBEXT)
endif
# Add libraries for Crypto API support
ifeq ($(CONFIG_CRYPTO),y)
NUTTXLIBS += lib$(DELIM)libcrypto$(LIBEXT)
endif
# Add libraries for file system support
ifeq ($(CONFIG_NFILE_DESCRIPTORS),0)
ifneq ($(CONFIG_NSOCKET_DESCRIPTORS),0)
NUTTXLIBS += lib$(DELIM)libfs$(LIBEXT)
endif
ifeq ($(CONFIG_NET),y)
NUTTXLIBS += lib$(DELIM)libdrivers$(LIBEXT)
endif
else
NUTTXLIBS += lib$(DELIM)libfs$(LIBEXT) lib$(DELIM)libdrivers$(LIBEXT) lib$(DELIM)libbinfmt$(LIBEXT)
endif
# Add libraries for the NX graphics sub-system
ifeq ($(CONFIG_NX),y)
NUTTXLIBS += lib$(DELIM)libgraphics$(LIBEXT)
NUTTXLIBS += lib$(DELIM)libknx$(LIBEXT)
USERLIBS += lib$(DELIM)libunx$(LIBEXT)
endif
# Add libraries for the Audio sub-system
ifeq ($(CONFIG_AUDIO),y)
NUTTXLIBS += lib$(DELIM)libaudio$(LIBEXT)
endif
......@@ -124,8 +124,15 @@ endif
# Library build selections
ifeq ($(CONFIG_BUILD_PROTECTED),y)
include ProtectedLibs.mk
else
ifeq ($(CONFIG_BUILD_KERNEL),y)
include KernelLibs.mk
else
include FlatLibs.mk
endif
endif
# LINKLIBS derives from NUTTXLIBS and is simply the same list with the
# subdirectory removed
......
......@@ -117,7 +117,15 @@ endif
# Library build selections
ifeq ($(CONFIG_BUILD_PROTECTED),y)
include ProtectedLibs.mk
else
ifeq ($(CONFIG_BUILD_KERNEL),y)
include KernelLibs.mk
else
include FlatLibs.mk
endif
endif
# LINKLIBS derives from NUTTXLIBS and is simply the same list with the
# subdirectory removed
......
############################################################################
# ProtectedLibs.mk
#
# Copyright (C) 2007-2012, 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
# NUTTXLIBS is the list of NuttX libraries that is passed to the
# processor-specific Makefile to build the final NuttX target.
# Libraries in FSDIRS are excluded if file descriptor support
# is disabled.
# USERLIBS is the list of libraries used to build the final user-space
# application
NUTTXLIBS = lib$(DELIM)libsched$(LIBEXT)
USERLIBS =
# Add libraries for syscall support. The C library will be needed by
# both the kernel- and user-space builds. For now, the memory manager (mm)
# is placed in user space (only).
NUTTXLIBS += lib$(DELIM)libstubs$(LIBEXT) lib$(DELIM)libkc$(LIBEXT)
NUTTXLIBS += lib$(DELIM)libkmm$(LIBEXT) lib$(DELIM)libkarch$(LIBEXT)
USERLIBS += lib$(DELIM)libproxies$(LIBEXT) lib$(DELIM)libuc$(LIBEXT)
USERLIBS += lib$(DELIM)libumm$(LIBEXT) lib$(DELIM)libuarch$(LIBEXT)
# Add libraries for C++ support. CXX, CXXFLAGS, and COMPILEXX must
# be defined in Make.defs for this to work!
ifeq ($(CONFIG_HAVE_CXX),y)
USERLIBS += lib$(DELIM)libcxx$(LIBEXT)
endif
# Add library for application support.
ifneq ($(APPDIR),)
USERLIBS += lib$(DELIM)libapps$(LIBEXT)
endif
# Add libraries for network support
ifeq ($(CONFIG_NET),y)
NUTTXLIBS += lib$(DELIM)libnet$(LIBEXT)
endif
# Add libraries for Crypto API support
ifeq ($(CONFIG_CRYPTO),y)
NUTTXLIBS += lib$(DELIM)libcrypto$(LIBEXT)
endif
# Add libraries for file system support
ifeq ($(CONFIG_NFILE_DESCRIPTORS),0)
ifneq ($(CONFIG_NSOCKET_DESCRIPTORS),0)
NUTTXLIBS += lib$(DELIM)libfs$(LIBEXT)
endif
ifeq ($(CONFIG_NET),y)
NUTTXLIBS += lib$(DELIM)libdrivers$(LIBEXT)
endif
else
NUTTXLIBS += lib$(DELIM)libfs$(LIBEXT) lib$(DELIM)libdrivers$(LIBEXT) lib$(DELIM)libbinfmt$(LIBEXT)
endif
# Add libraries for the NX graphics sub-system
ifeq ($(CONFIG_NX),y)
NUTTXLIBS += lib$(DELIM)libgraphics$(LIBEXT)
ifeq ($(CONFIG_BUILD_PROTECTED),y)
NUTTXLIBS += lib$(DELIM)libknx$(LIBEXT)
USERLIBS += lib$(DELIM)libunx$(LIBEXT)
else
NUTTXLIBS += lib$(DELIM)libnx$(LIBEXT)
endif
endif
# Add libraries for the Audio sub-system
ifeq ($(CONFIG_AUDIO),y)
NUTTXLIBS += lib$(DELIM)libaudio$(LIBEXT)
endif
......@@ -4195,6 +4195,11 @@ Configurations
STATUS:
See the To-Do list below
(2014-8-30): Retesting today I am seeing a strange behavior: Serial
output is coming out in chunks with delays between the chunks. It
appears that something is not good in the serial port configuration.
I see no such chunky behavior in, for example, grahics output.
nxwm:
This is a special configuration setup for the NxWM window manager
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment