summaryrefslogtreecommitdiff
path: root/apps/interpreters
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-05-10 15:50:23 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-05-10 15:50:23 +0000
commitb178fec3d84131c06bb015d60533a1b704650008 (patch)
treec14a8e28ee4a2b3cdaf038eceb9c4b356c8505b6 /apps/interpreters
parent6327539fc800e6d481ff26067c1a40ca01ae6de1 (diff)
downloadnuttx-b178fec3d84131c06bb015d60533a1b704650008.tar.gz
nuttx-b178fec3d84131c06bb015d60533a1b704650008.tar.bz2
nuttx-b178fec3d84131c06bb015d60533a1b704650008.zip
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
Diffstat (limited to 'apps/interpreters')
-rw-r--r--apps/interpreters/Makefile70
-rw-r--r--apps/interpreters/README.txt59
2 files changed, 129 insertions, 0 deletions
diff --git a/apps/interpreters/Makefile b/apps/interpreters/Makefile
new file mode 100644
index 000000000..bf27d79e8
--- /dev/null
+++ b/apps/interpreters/Makefile
@@ -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
diff --git a/apps/interpreters/README.txt b/apps/interpreters/README.txt
new file mode 100644
index 000000000..e1c58fef3
--- /dev/null
+++ b/apps/interpreters/README.txt
@@ -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