Pascal now installs in the apps/ directory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3583 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
6327539fc8
commit
b178fec3d8
|
@ -32,3 +32,7 @@
|
|||
verify NXFFS.
|
||||
|
||||
6.3 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* apps/interpreter: Add a directory to hold interpreters. The Pascal add-
|
||||
on module now installs and builds under this directory.
|
||||
|
||||
|
|
|
@ -48,20 +48,20 @@ APPDIR = ${shell pwd}
|
|||
# list can be extended by the .config file as well
|
||||
|
||||
CONFIGURED_APPS =
|
||||
SUBDIRS = namedapp nshlib netutils examples vsn
|
||||
SUBDIRS = examples interpreters namedapp nshlib netutils vsn
|
||||
|
||||
-include .config
|
||||
|
||||
# BUILTIN_APPS_DIR is the list of currently available application directories. It
|
||||
# is the same as CONFIGURED_APPS, but filtered to exclude any non-existent apps
|
||||
# INSTALLED_APPS is the list of currently available application directories. It
|
||||
# is the same as CONFIGURED_APPS, but filtered to exclude any non-existent apps.
|
||||
# namedapp is always in the list of applications to be built
|
||||
|
||||
BUILTIN_APPS_DIR = namedapp
|
||||
INSTALLED_APPS = namedapp
|
||||
|
||||
# Create the list of available applications (BUILTIN_APPS_DIR)
|
||||
# Create the list of available applications (INSTALLED_APPS)
|
||||
|
||||
define ADD_BUILTIN
|
||||
BUILTIN_APPS_DIR += ${shell if [ -r $1/Makefile ]; then echo "$1"; fi}
|
||||
INSTALLED_APPS += ${shell if [ -r $1/Makefile ]; then echo "$1"; fi}
|
||||
endef
|
||||
|
||||
$(foreach BUILTIN, $(CONFIGURED_APPS), $(eval $(call ADD_BUILTIN,$(BUILTIN))))
|
||||
|
@ -73,18 +73,18 @@ BIN = libapps$(LIBEXT)
|
|||
# Build targets
|
||||
|
||||
all: $(BIN)
|
||||
.PHONY: $(BUILTIN_APPS_DIR) context depend clean distclean
|
||||
.PHONY: $(INSTALLED_APPS) context depend clean distclean
|
||||
|
||||
$(BUILTIN_APPS_DIR):
|
||||
$(INSTALLED_APPS):
|
||||
@$(MAKE) -C $@ TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)";
|
||||
|
||||
$(BIN): $(BUILTIN_APPS_DIR)
|
||||
$(BIN): $(INSTALLED_APPS)
|
||||
@( for obj in $(OBJS) ; do \
|
||||
$(call ARCHIVE, $@, $${obj}); \
|
||||
done ; )
|
||||
|
||||
.context:
|
||||
@for dir in $(BUILTIN_APPS_DIR) ; do \
|
||||
@for dir in $(INSTALLED_APPS) ; do \
|
||||
rm -f $$dir/.context ; \
|
||||
$(MAKE) -C $$dir TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)" context ; \
|
||||
done
|
||||
|
@ -93,7 +93,7 @@ $(BIN): $(BUILTIN_APPS_DIR)
|
|||
context: .context
|
||||
|
||||
.depend: context Makefile $(SRCS)
|
||||
@for dir in $(BUILTIN_APPS_DIR) ; do \
|
||||
@for dir in $(INSTALLED_APPS) ; do \
|
||||
rm -f $$dir/.depend ; \
|
||||
$(MAKE) -C $$dir TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)" depend ; \
|
||||
done
|
||||
|
|
|
@ -274,7 +274,13 @@ examples/ostest
|
|||
examples/pashello
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
This is "Hello, World" implemented via the Pascal P-Code interpreter
|
||||
This is "Hello, World" implemented via the Pascal P-Code interpreter. In
|
||||
order to use this example, you must first download and install the
|
||||
NuttX pascal module. After unpacking the pascal module, you can find
|
||||
installation instructions in pascal/nuttx/README.txt.
|
||||
|
||||
The correct install location for the NuttX examples and build files is
|
||||
apps/interpreters.
|
||||
|
||||
examples/pipe
|
||||
^^^^^^^^^^^^^
|
||||
|
|
|
@ -39,13 +39,6 @@ include $(APPDIR)/Make.defs
|
|||
|
||||
# Pascal Add-On Example
|
||||
|
||||
ifeq ($(WINTOOL),y)
|
||||
INCDIROPT = -w
|
||||
endif
|
||||
|
||||
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/pcode/include }
|
||||
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/pcode/insn/include}
|
||||
|
||||
ASRCS =
|
||||
CSRCS = pashello.c device.c
|
||||
|
||||
|
|
|
@ -43,8 +43,8 @@
|
|||
#include <stdlib.h>
|
||||
#include <debug.h>
|
||||
|
||||
#include "pexec.h"
|
||||
#include "pedefs.h"
|
||||
#include "apps/pcode/insn/pexec.h"
|
||||
#include "apps/pcode/pedefs.h"
|
||||
#include "pashello.h"
|
||||
|
||||
/****************************************************************************
|
||||
|
|
|
@ -0,0 +1,70 @@
|
|||
############################################################################
|
||||
# apps/interpreters/Makefile
|
||||
#
|
||||
# Copyright (C) 2011 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
-include $(TOPDIR)/.config # Current configuration
|
||||
|
||||
# Sub-directories containing interpreter runtime
|
||||
|
||||
SUBDIRS = pcode
|
||||
|
||||
# Create the list of installed runtime modules (INSTALLED_DIRS)
|
||||
|
||||
define ADD_DIRECTORY
|
||||
INSTALLED_DIRS += ${shell if [ -r $1/Makefile ]; then echo "$1"; fi}
|
||||
endef
|
||||
|
||||
$(foreach DIR, $(SUBDIRS), $(eval $(call ADD_DIRECTORY,$(DIR))))
|
||||
|
||||
all: nothing
|
||||
.PHONY: nothing context depend clean distclean
|
||||
|
||||
nothing:
|
||||
|
||||
context:
|
||||
|
||||
depend:
|
||||
@for dir in $(INSTALLED_DIRS) ; do \
|
||||
$(MAKE) -C $$dir depend TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)"; \
|
||||
done
|
||||
|
||||
clean:
|
||||
@for dir in $(INSTALLED_DIRS) ; do \
|
||||
$(MAKE) -C $$dir clean TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)"; \
|
||||
done
|
||||
|
||||
distclean: clean
|
||||
@for dir in $(INSTALLED_DIRS) ; do \
|
||||
$(MAKE) -C $$dir distclean TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)"; \
|
||||
done
|
|
@ -0,0 +1,59 @@
|
|||
apps/interpreters README file
|
||||
=============================
|
||||
|
||||
This apps/ directory is set aside to hold interpreters that may be
|
||||
incorporated into NuttX.
|
||||
|
||||
pcode
|
||||
-----
|
||||
|
||||
At present, only the NuttX Pascal add-on is supported. This NuttX add-on
|
||||
must be downloaded separately (or is available in an SVN snapshot in the
|
||||
misc/pascal directory).
|
||||
|
||||
This Pascal add-on must be installed into the NuttX apps/ directory. After
|
||||
unpacking the Pascal add-on package, an installation script and README.txt
|
||||
instructions can be found at pascal/nuttx.
|
||||
|
||||
INSTALL.sh -- The script that performs the operation. Usage:
|
||||
|
||||
./INSTALL.sh [-16|-32] <install-dir>
|
||||
|
||||
If you are using this standard NuttX apps/ package, the correct
|
||||
location for the <install-dir> is apps/interpreters. That is
|
||||
where the examples and build logic will expect to find the pcode
|
||||
sub-directory.
|
||||
|
||||
Example:
|
||||
|
||||
./INSTALL.sh -16 $PWD/../../../apps/interpreters
|
||||
|
||||
After installation, the NuttX apps/interpresters directory will contain
|
||||
the following files
|
||||
|
||||
pcode
|
||||
|-- Makefile
|
||||
|-- include
|
||||
| `-- Common header files
|
||||
|-- libboff
|
||||
| `-- Pascal object format (POFF) library
|
||||
`--insn
|
||||
|-- include
|
||||
| `-- model-specific header files
|
||||
`-- prun
|
||||
`-- model-specific source files
|
||||
|
||||
pashello
|
||||
|
||||
There is a simple Pascal example at apps/examples/pashello. This is the
|
||||
standard "Hello, World!" example written in Pascal and interpreted from
|
||||
Pascal P-Code at runtime. To use this example, place the following in
|
||||
your appconfig file"
|
||||
|
||||
# Path to example in apps/examples containing the user_start entry point
|
||||
|
||||
CONFIGURED_APPS += examples/pashello
|
||||
|
||||
# Path to the Pascal p-code runtime interpreter module
|
||||
|
||||
CONFIGURED_APPS += interpreters/pcode
|
|
@ -62,6 +62,3 @@ distclean: clean
|
|||
@for dir in $(SUBDIRS) ; do \
|
||||
$(MAKE) -C $$dir distclean TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)"; \
|
||||
done
|
||||
|
||||
-include Make.dep
|
||||
|
||||
|
|
|
@ -22,4 +22,10 @@ pascal-2.0 2009-12-21 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|||
stdbool.h. This change was necessary for compatibility
|
||||
with NuttX-5.0 (any beyond).
|
||||
|
||||
pascal-2.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
pascal-3.0 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* nuttx/: The Pascal add-on module now installs and builds under the
|
||||
apps/interpreters directory. This means that the pascal-3.0 module is
|
||||
incompatible with will all releases of NuttX prior to nuttx-6.0 where the
|
||||
apps/ module was introduced.
|
||||
|
||||
|
|
|
@ -18,5 +18,8 @@ Installing the NuttX Runtime P-Code Interpreter
|
|||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
cd <pascal-directory>/nuttx
|
||||
./INSTALL.sh <nuttx-directory>
|
||||
./INSTALL.sh <apps-directory>
|
||||
|
||||
See <pascal-directory>/nuttx/README.txt for additional information.
|
||||
|
||||
|
||||
|
|
|
@ -25,3 +25,16 @@ The release version was bumped to 2.0 because these changes introduce
|
|||
typing incompatibilies with earlier versions.
|
||||
|
||||
This tarball contains a complete CVS snapshot from December 21, 2009.
|
||||
|
||||
pascal-3.0
|
||||
^^^^^^^^^^
|
||||
|
||||
This release moves the Pascal installation location from the nuttx/
|
||||
source to the apps/ source tree. Specifically, the Pascall runtime now
|
||||
builds under apps/interpreters.
|
||||
|
||||
This means that the pascal-3.0 module is incompatible with will all
|
||||
releases of NuttX prior to nuttx-6.0 where the apps/ module was
|
||||
introduced. The release version was bumped to 3.0 because these changes
|
||||
introduces installation incompatibilies with earlier versions.
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# nuttx/INSTALL.sh
|
||||
# Install the pascaldirl runtime into the NuttX source tree
|
||||
#
|
||||
# Copyright (C) 2008 Gregory Nutt. All rights reserved.
|
||||
# Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
@ -39,7 +39,7 @@
|
|||
wd=`pwd`
|
||||
|
||||
modeldir=insn16
|
||||
unset nuttxdir
|
||||
unset installdir
|
||||
while [ ! -z "$1" ]; do
|
||||
case "$1" in
|
||||
-d )
|
||||
|
@ -52,22 +52,22 @@ while [ ! -z "$1" ]; do
|
|||
modeldir=insn32
|
||||
;;
|
||||
-h )
|
||||
echo "USAGE: $0 [-16|-32] <NuttX-path>"
|
||||
echo "USAGE: $0 [-16|-32] <install-dir>"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
nuttxdir=$1
|
||||
installdir=$1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
echo "Installing model $modeldir to $nuttxdir"
|
||||
echo "Installing model $modeldir to $installdir"
|
||||
|
||||
# Verify that required parameters were provided
|
||||
|
||||
if [ -z "${nuttxdir}" ]; then
|
||||
echo "USAGE: $0 [-16|-32] <NuttX-path>"
|
||||
if [ -z "${installdir}" ]; then
|
||||
echo "USAGE: $0 [-16|-32] <install-dir>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
@ -91,38 +91,38 @@ if [ ! -d ${pascaldir}/${modeldir} ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d ${nuttxdir} ]; then
|
||||
echo "NuttX directory ${nuttxdir} does not exist"
|
||||
if [ ! -d ${installdir} ]; then
|
||||
echo "NuttX apps/ sub-directory ${installdir} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -d ${nuttxdir}/pcode ]; then
|
||||
echo "${nuttxdir}/pcode already exists. Remove it and try again."
|
||||
if [ -d ${installdir}/pcode ]; then
|
||||
echo "${installdir}/pcode already exists. Remove it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Looks good enough. Create NuttX directories
|
||||
|
||||
mkdir ${nuttxdir}/pcode || \
|
||||
{ echo "mkdir ${nuttxdir}/pcode failed" ; exit 1 ; }
|
||||
mkdir ${installdir}/pcode || \
|
||||
{ echo "mkdir ${installdir}/pcode failed" ; exit 1 ; }
|
||||
|
||||
mkdir ${nuttxdir}/pcode/include || \
|
||||
{ echo "mkdir ${nuttxdir}/pcode/include failed" ; exit 1 ; }
|
||||
mkdir ${installdir}/pcode/include || \
|
||||
{ echo "mkdir ${installdir}/pcode/include failed" ; exit 1 ; }
|
||||
|
||||
mkdir ${nuttxdir}/pcode/insn || \
|
||||
{ echo "mkdir ${nuttxdir}/pcode/insn failed" ; exit 1 ; }
|
||||
mkdir ${installdir}/pcode/insn || \
|
||||
{ echo "mkdir ${installdir}/pcode/insn failed" ; exit 1 ; }
|
||||
|
||||
mkdir ${nuttxdir}/pcode/insn/include || \
|
||||
{ echo "mkdir ${nuttxdir}/pcode/insn/include failed" ; exit 1 ; }
|
||||
mkdir ${installdir}/pcode/insn/include || \
|
||||
{ echo "mkdir ${installdir}/pcode/insn/include failed" ; exit 1 ; }
|
||||
|
||||
mkdir ${nuttxdir}/pcode/insn/prun || \
|
||||
{ echo "mkdir ${nuttxdir}/pcode/insn/prun failed" ; exit 1 ; }
|
||||
mkdir ${installdir}/pcode/insn/prun || \
|
||||
{ echo "mkdir ${installdir}/pcode/insn/prun failed" ; exit 1 ; }
|
||||
|
||||
mkdir ${nuttxdir}/pcode/libpoff || \
|
||||
{ echo "mkdir ${nuttxdir}/pcode/libpoff failed" ; exit 1 ; }
|
||||
mkdir ${installdir}/pcode/libpoff || \
|
||||
{ echo "mkdir ${installdir}/pcode/libpoff failed" ; exit 1 ; }
|
||||
|
||||
mkdir ${nuttxdir}/pcode/libpas || \
|
||||
{ echo "mkdir ${nuttxdir}/pcode/libpas failed" ; exit 1 ; }
|
||||
mkdir ${installdir}/pcode/libpas || \
|
||||
{ echo "mkdir ${installdir}/pcode/libpas failed" ; exit 1 ; }
|
||||
|
||||
# Copy runtime files
|
||||
|
||||
|
@ -130,37 +130,37 @@ cp -a ${pascaldir}/include/poff.h ${pascaldir}/include/pofflib.h \
|
|||
${pascaldir}/include/pedefs.h ${pascaldir}/include/perr.h \
|
||||
${pascaldir}/include/pdefs.h ${pascaldir}/include/pfdefs.h \
|
||||
${pascaldir}/include/pxdefs.h ${pascaldir}/include/paslib.h \
|
||||
${nuttxdir}/pcode/include/. || \
|
||||
${installdir}/pcode/include/. || \
|
||||
{ echo "Failed to copy ${pascaldir}/include" ; exit 1; }
|
||||
|
||||
echo "#ifndef __CONFIG_H" >${nuttxdir}/pcode/include/config.h
|
||||
echo "#define __CONFIG_H 1" >>${nuttxdir}/pcode/include/config.h
|
||||
echo "" >>${nuttxdir}/pcode/include/config.h
|
||||
echo "#undef CONFIG_DEBUG" >>${nuttxdir}/pcode/include/config.h
|
||||
echo "#undef CONFIG_TRACE" >>${nuttxdir}/pcode/include/config.h
|
||||
echo "#define CONFIG_INSN16 1" >>${nuttxdir}/pcode/include/config.h
|
||||
echo "#undef CONFIG_INSN32" >>${nuttxdir}/pcode/include/config.h
|
||||
echo "" >>${nuttxdir}/pcode/include/config.h
|
||||
echo "#endif /* __CONFIG_H */" >>${nuttxdir}/pcode/include/config.h
|
||||
echo "#ifndef __CONFIG_H" >${installdir}/pcode/include/config.h
|
||||
echo "#define __CONFIG_H 1" >>${installdir}/pcode/include/config.h
|
||||
echo "" >>${installdir}/pcode/include/config.h
|
||||
echo "#undef CONFIG_DEBUG" >>${installdir}/pcode/include/config.h
|
||||
echo "#undef CONFIG_TRACE" >>${installdir}/pcode/include/config.h
|
||||
echo "#define CONFIG_INSN16 1" >>${installdir}/pcode/include/config.h
|
||||
echo "#undef CONFIG_INSN32" >>${installdir}/pcode/include/config.h
|
||||
echo "" >>${installdir}/pcode/include/config.h
|
||||
echo "#endif /* __CONFIG_H */" >>${installdir}/pcode/include/config.h
|
||||
|
||||
cp -a ${pascaldir}/nuttx/Makefile ${nuttxdir}/pcode/. || \
|
||||
cp -a ${pascaldir}/nuttx/Makefile ${installdir}/pcode/. || \
|
||||
{ echo "Failed to copy ${pascaldir}/nuttx/Makefile" ; exit 1; }
|
||||
|
||||
cp -a ${pascaldir}/nuttx/keywords.h ${nuttxdir}/pcode/include/. || \
|
||||
cp -a ${pascaldir}/nuttx/keywords.h ${installdir}/pcode/include/. || \
|
||||
{ echo "Failed to copy ${pascaldir}/nuttx/keywords.h" ; exit 1; }
|
||||
|
||||
cp -a ${pascaldir}/libpoff/*.c ${pascaldir}/libpoff/*.h \
|
||||
${pascaldir}/libpoff/Make.defs ${nuttxdir}/pcode/libpoff/. || \
|
||||
${pascaldir}/libpoff/Make.defs ${installdir}/pcode/libpoff/. || \
|
||||
{ echo "Failed to copy ${pascaldir}/libpoff" ; exit 1; }
|
||||
|
||||
cp -a ${pascaldir}/libpas/psignextend16.c ${pascaldir}/libpas/pswap.c \
|
||||
${pascaldir}/libpas/Make.defs ${nuttxdir}/pcode/libpas/. || \
|
||||
${pascaldir}/libpas/Make.defs ${installdir}/pcode/libpas/. || \
|
||||
{ echo "Failed to copy ${pascaldir}/libpas" ; exit 1; }
|
||||
|
||||
cp -a ${pascaldir}/${modeldir}/include/pexec.h ${pascaldir}/${modeldir}/include/pinsn16.h \
|
||||
${nuttxdir}/pcode/insn/include/. || \
|
||||
${installdir}/pcode/insn/include/. || \
|
||||
{ echo "Failed to copy ${pascaldir}/${modeldir}/include" ; exit 1; }
|
||||
|
||||
cp -a ${pascaldir}/${modeldir}/prun/pexec.c ${pascaldir}/${modeldir}/prun/pload.c \
|
||||
${pascaldir}/${modeldir}/prun/Make.defs ${nuttxdir}/pcode/insn/prun/. || \
|
||||
${pascaldir}/${modeldir}/prun/Make.defs ${installdir}/pcode/insn/prun/. || \
|
||||
{ echo "Failed to copy ${pascaldir}/${modeldir}/prun" ; exit 1; }
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
############################################################################
|
||||
# pcode/Makefile
|
||||
# apps/interpreters/pcode/Makefile
|
||||
#
|
||||
# Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
|
||||
# Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,36 +33,63 @@
|
|||
#
|
||||
############################################################################
|
||||
|
||||
-include $(TOPDIR)/Make.defs
|
||||
PCODEDIR := ${shell pwd | sed -e 's/ /\\ /g'}
|
||||
|
||||
COMPILER = ${shell basename $(CC)}
|
||||
ifeq ($(COMPILER),zneocc.exe)
|
||||
USRINCLUDES = -usrinc:'.;$(WTOPDIR)\pcode\include;$(WTOPDIR)\pcode\insn\include'
|
||||
INCLUDES = $(ARCHSTDINCLUDES) $(USRINCLUDES)
|
||||
else
|
||||
USRINCLUDES = -I$(TOPDIR)/pcode/include -I$(TOPDIR)/pcode/insn/include
|
||||
INCLUDES = $(ARCHINCLUDES) $(USRINCLUDES)
|
||||
-include $(TOPDIR)/.config
|
||||
-include $(TOPDIR)/Make.defs
|
||||
include $(APPDIR)/Make.defs
|
||||
|
||||
# Default tools
|
||||
|
||||
ifeq ($(DIRLINK),)
|
||||
DIRLINK = $(TOPDIR)/tools/link.sh
|
||||
DIRUNLINK = $(TOPDIR)/tools/unlink.sh
|
||||
INCDIR = $(TOPDIR)/tools/incdir.sh
|
||||
endif
|
||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(INCLUDES) $(ARCHDEFINES)
|
||||
|
||||
ifeq ($(WINTOOL),y)
|
||||
INCDIROPT = -w
|
||||
endif
|
||||
|
||||
USRINCLUDES = ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(PCODEDIR)/include $(PCODEDIR)/insn/include}
|
||||
|
||||
COMPILER = ${shell basename $(CC)}
|
||||
ifeq ($(COMPILER),zneocc.exe)
|
||||
INCLUDES = $(ARCHSTDINCLUDES) $(USRINCLUDES)
|
||||
else
|
||||
INCLUDES = $(ARCHINCLUDES) $(USRINCLUDES)
|
||||
endif
|
||||
|
||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(INCLUDES) $(ARCHDEFINES)
|
||||
|
||||
include insn/prun/Make.defs
|
||||
include libpoff/Make.defs
|
||||
include libpas/Make.defs
|
||||
|
||||
ASRCS = $(PRUN_ASRCS) $(POFF_ASRCS) $(PAS_ASRCS)
|
||||
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
||||
ASRCS = $(PRUN_ASRCS) $(POFF_ASRCS) $(PAS_ASRCS)
|
||||
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
||||
|
||||
CSRCS = $(PRUN_CSRCS) $(POFF_CSRCS) $(PAS_CSRCS)
|
||||
COBJS = $(CSRCS:.c=$(OBJEXT))
|
||||
CSRCS = $(PRUN_CSRCS) $(POFF_CSRCS) $(PAS_CSRCS)
|
||||
COBJS = $(CSRCS:.c=$(OBJEXT))
|
||||
|
||||
SRCS = $(ASRCS) $(CSRCS)
|
||||
OBJS = $(AOBJS) $(COBJS)
|
||||
SRCS = $(ASRCS) $(CSRCS)
|
||||
OBJS = $(AOBJS) $(COBJS)
|
||||
|
||||
BIN = libpcode$(LIBEXT)
|
||||
ifeq ($(WINTOOL),y)
|
||||
BIN = "${shell cygpath -w $(APPDIR)/libapps$(LIBEXT)}"
|
||||
else
|
||||
BIN = "$(APPDIR)/libapps$(LIBEXT)"
|
||||
endif
|
||||
|
||||
VPATH = insn/prun:libpoff:libpas
|
||||
ROOTDEPPATH = --dep-path .
|
||||
PRUNDEPPATH = --dep-path insn/prun
|
||||
POFFDEPPATH = --dep-path libpoff
|
||||
PASDEPPATH = --dep-path libpas
|
||||
|
||||
all: $(BIN)
|
||||
VPATH = insn/prun:libpoff:libpas
|
||||
|
||||
all: .built
|
||||
.PHONY: context depend clean distclean
|
||||
|
||||
$(AOBJS): %$(OBJEXT): %.S
|
||||
ifeq ($(COMPILER),zneocc.exe)
|
||||
|
@ -78,23 +105,34 @@ else
|
|||
$(call COMPILE, $<, $@)
|
||||
endif
|
||||
|
||||
$(BIN): $(OBJS)
|
||||
$(APPDIR)/include/pcode: include
|
||||
@$(DIRLINK) $(PCODEDIR)/include $(APPDIR)/include/pcode
|
||||
|
||||
$(APPDIR)/include/pcode/insn: $(APPDIR)/include/pcode insn/include
|
||||
@$(DIRLINK) $(PCODEDIR)/insn/include $(APPDIR)/include/pcode/insn
|
||||
|
||||
.built: $(APPDIR)/include/pcode $(APPDIR)/include/pcode/insn $(OBJS)
|
||||
@( for obj in $(OBJS) ; do \
|
||||
$(call ARCHIVE, $@, $${obj}); \
|
||||
$(call ARCHIVE, $(BIN), $${obj}); \
|
||||
done ; )
|
||||
@touch .built
|
||||
|
||||
context: $(APPDIR)/include/pcode $(APPDIR)/include/pcode/insn
|
||||
|
||||
.depend: Makefile $(SRCS)
|
||||
@$(MKDEP) --dep-path . --dep-path insn/prun --dep-path libpoff --dep-path libpas \
|
||||
@$(MKDEP) $(ROOTDEPPATH) $(PRUNDEPPATH) $(POFFDEPPATH) $(PASDEPPATH) \
|
||||
$(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
|
||||
@touch $@
|
||||
|
||||
depend: .depend
|
||||
|
||||
clean:
|
||||
@rm -f $(BIN) *~ .*.swp
|
||||
@rm -f *.o *~ .*.swp .built
|
||||
$(call CLEAN)
|
||||
|
||||
distclean: clean
|
||||
@rm -f Make.dep .depend
|
||||
@$(DIRUNLINK) $(APPDIR)/include/pcode/insn
|
||||
@$(DIRUNLINK) $(APPDIR)/include/pcode
|
||||
|
||||
-include Make.dep
|
||||
|
|
|
@ -1,31 +1,43 @@
|
|||
README.txt
|
||||
^^^^^^^^^^
|
||||
pascal/nuttx/README.txt
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This directory contains miscellaneous files needed to install
|
||||
pascal runtime logic into the NuttX source tree. After
|
||||
installation, the NuttX source tree contain the following files
|
||||
This directory contains miscellaneous files needed to install the pascal
|
||||
runtime logic into the NuttX apps/ ource tree. After installation, the NuttX
|
||||
apps/ source tree contain the following files
|
||||
|
||||
pcode
|
||||
|-- Makefile
|
||||
|-- include
|
||||
| `-- Common header files
|
||||
|-- libboff
|
||||
| `-- Pascal object format (POFF) library
|
||||
`--insn
|
||||
|-- include
|
||||
| `-- model-specific header files
|
||||
`-- prun
|
||||
`-- model-specific source files
|
||||
pcode
|
||||
|-- Makefile
|
||||
|-- include
|
||||
| `-- Common header files
|
||||
|-- libboff
|
||||
| `-- Pascal object format (POFF) library
|
||||
`--insn
|
||||
|-- include
|
||||
| `-- model-specific header files
|
||||
`-- prun
|
||||
`-- model-specific source files
|
||||
|
||||
This directory contains:
|
||||
|
||||
INSTALL.sh -- The script that performs the operation. Usage:
|
||||
INSTALL.sh -- The script that performs the operation. Usage:
|
||||
|
||||
./INSTALL.sh [-16|-32] <NuttX-path>
|
||||
./INSTALL.sh [-16|-32] <install-dir>
|
||||
|
||||
Makefile -- The NuttX makefile for the runtime logic
|
||||
If you are using the standard NuttX apps/ package, the correct
|
||||
location for the <install-dir> is apps/interpreters. That is
|
||||
where the examples and build logic will expect to find the pcode
|
||||
sub-directory.
|
||||
|
||||
keywords.h -- A version that adjusts build context for the NuttX
|
||||
environment.
|
||||
Example:
|
||||
|
||||
./INSTALL.sh -16 $PWD/../../../apps/interpreters
|
||||
|
||||
Makefile -- The NuttX makefile for the runtime logic. This makefile
|
||||
is customized to work in the standard apps/ package. If you intend
|
||||
to use your own custom apps/ directory, then this Makefile may
|
||||
require some modifications.
|
||||
|
||||
keywords.h -- A version that adjusts build context for the NuttX
|
||||
build environment.
|
||||
|
||||
|
||||
|
|
|
@ -1733,3 +1733,5 @@
|
|||
* configs/pcblogic-pic32mx: Add directory structure for PCB Logic PIC32MX board
|
||||
* apps/include: Move include/apps to apps/include. A symbolic link is created at
|
||||
build time
|
||||
* Makefile: Removed support for Pascal pcode interpreter. Support for that
|
||||
interpreter has been moved to apps/interpreter/Makefile.
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<tr align="center" bgcolor="#e4e4e4">
|
||||
<td>
|
||||
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
|
||||
<p>Last Updated: May 6, 2011</p>
|
||||
<p>Last Updated: May 10, 2011</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -2189,9 +2189,28 @@ buildroot-1.10 2011-05-06 <spudmonkey@racsa.co.cr>
|
|||
<ul><pre>
|
||||
nuttx-6.3 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* Remove clock_getutc(). It is replaces with clock_gettime(CLOCK_ACTIVETIME).
|
||||
Add other RTC related changes provided by Uros Platise.
|
||||
* arch/arm/src/stm32/stm32_flash.c: Add support for access to on-chp STM32
|
||||
FLASH; beginning of integration with NXFFS (Uros Platise).
|
||||
* arch/mips: Added directory structure for PIC32 support
|
||||
* configs/pcblogic-pic32mx: Add directory structure for PCB Logic PIC32MX board
|
||||
* apps/include: Move include/apps to apps/include. A symbolic link is created at
|
||||
build time
|
||||
* Makefile: Removed support for Pascal pcode interpreter. Support for that
|
||||
interpreter has been moved to apps/interpreter/Makefile.
|
||||
|
||||
apps-6.3 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
pascal-2.1 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
* apps/interpreter: Add a directory to hold interpreters. The Pascal add-
|
||||
on module now installs and builds under this directory.
|
||||
|
||||
pascal-3.0 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* nuttx/: The Pascal add-on module now installs and builds under the
|
||||
apps/interpreters directory. This means that the pascal-2.1 module is
|
||||
incompatible with will all releases of NuttX prior to nuttx-6.0 where the
|
||||
apps/ module was introduced.
|
||||
|
||||
buildroot-1.11 2011-xx-xx <spudmonkey@racsa.co.cr>
|
||||
</pre></ul>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
############################################################################
|
||||
# Makefile
|
||||
#
|
||||
#
|
||||
# Copyright (C) 2007-2011 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
#
|
||||
|
@ -70,16 +69,12 @@ CONFIG_APPS_DIR = ../apps
|
|||
endif
|
||||
APPDIR := ${shell if [ -r $(CONFIG_APPS_DIR)/Makefile ]; then echo "$(CONFIG_APPS_DIR)"; fi}
|
||||
|
||||
# The Pascal p-code add-on directory
|
||||
|
||||
PCODE_DIR := ${shell if [ -r pcode/Makefile ]; then echo "pcode"; fi}
|
||||
|
||||
# All add-on directories.
|
||||
#
|
||||
# NUTTX_ADDONS is the list of directories built into the NuttX kernel.
|
||||
# USER_ADDONS is the list of directories that will be built into the user application
|
||||
|
||||
NUTTX_ADDONS := $(PCODE_DIR) $(NX_DIR)
|
||||
NUTTX_ADDONS := $(NX_DIR)
|
||||
USER_ADDONS :=
|
||||
|
||||
ifeq ($(CONFIG_NUTTX_KERNEL),y)
|
||||
|
@ -228,12 +223,6 @@ else
|
|||
NUTTXLIBS += fs/libfs$(LIBEXT) drivers/libdrivers$(LIBEXT) binfmt/libbinfmt$(LIBEXT)
|
||||
endif
|
||||
|
||||
# Add libraries for Pascall P-Code
|
||||
|
||||
ifneq ($(PCODE_DIR),)
|
||||
NUTTXLIBS += $(PCODE_DIR)/libpcode$(LIBEXT)
|
||||
endif
|
||||
|
||||
# Add libraries for the NX graphics sub-system
|
||||
|
||||
ifneq ($(NX_DIR),)
|
||||
|
@ -357,9 +346,6 @@ drivers/libdrivers$(LIBEXT): context
|
|||
binfmt/libbinfmt$(LIBEXT): context
|
||||
@$(MAKE) -C binfmt TOPDIR="$(TOPDIR)" libbinfmt$(LIBEXT) EXTRADEFINES=$(KDEFINE)
|
||||
|
||||
pcode/libpcode$(LIBEXT): context
|
||||
@$(MAKE) -C pcode TOPDIR="$(TOPDIR)" libpcode$(LIBEXT) EXTRADEFINES=$(KDEFINE)
|
||||
|
||||
graphics/libgraphics$(LIBEXT): context
|
||||
@$(MAKE) -C graphics TOPDIR="$(TOPDIR)" libgraphics$(LIBEXT) EXTRADEFINES=$(KDEFINE)
|
||||
|
||||
|
|
|
@ -37,3 +37,6 @@
|
|||
|
||||
CONFIGURED_APPS += examples/pashello
|
||||
|
||||
# Path to the Pascal p-code runtime interpreter module
|
||||
|
||||
CONFIGURED_APPS += interpreters/pcode
|
||||
|
|
|
@ -37,3 +37,7 @@
|
|||
|
||||
CONFIGURED_APPS += examples/pashello
|
||||
|
||||
# Path to the Pascal p-code runtime interpreter module
|
||||
|
||||
CONFIGURED_APPS += interpreters/pcode
|
||||
|
||||
|
|
|
@ -37,3 +37,6 @@
|
|||
|
||||
CONFIGURED_APPS += examples/pashello
|
||||
|
||||
# Path to the Pascal p-code runtime interpreter module
|
||||
|
||||
CONFIGURED_APPS += interpreters/pcode
|
||||
|
|
|
@ -37,3 +37,7 @@
|
|||
|
||||
CONFIGURED_APPS += examples/pashello
|
||||
|
||||
# Path to the Pascal p-code runtime interpreter module
|
||||
|
||||
CONFIGURED_APPS += interpreters/pcode
|
||||
|
||||
|
|
Loading…
Reference in New Issue