diff --git a/ChangeLog b/ChangeLog index 157ef922ffc..31f7eef2aac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -288,5 +288,6 @@ * Changes for use with SDCC compiler * Added a simulated z80 target * Fix deadlock errors when using stdio but with no buffering + * Add support for Pascal P-Code interpreter diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 8aed05749b8..f41834c4744 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -726,6 +726,7 @@ Other memory: * Changes for use with SDCC compiler * Added a simulated z80 target * Fix deadlock errors when using stdio but with no buffering + * Add support for Pascal P-Code interpreter diff --git a/Makefile b/Makefile index bac6e739987..087a1c2bd3e 100644 --- a/Makefile +++ b/Makefile @@ -44,11 +44,16 @@ ARCH_SRC = $(ARCH_DIR)/src ARCH_INC = $(ARCH_DIR)/include BOARD_DIR = configs/$(CONFIG_ARCH_BOARD) +# Add-on directories. These may or may not be in place in the +# NuttX source tree (they must be specifically installed) + +PCODE_DIR := `if [ -r pcode/Makefile ]; then echo "pcode"; fi` + # 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) +NONFSDIRS = sched lib $(ARCH_SRC) mm examples/$(CONFIG_EXAMPLE) $(PCODE_DIR) FSDIRS = fs drivers ifeq ($(CONFIG_NET),y) @@ -96,6 +101,10 @@ else LINKLIBS += fs/libfs$(LIBEXT) drivers/libdrivers$(LIBEXT) endif +ifneq ($(PCODE_DIR),) +LINKLIBS += pcode/libpcode$(LIBEXT) +endif + # This is the name of the final target BIN = nuttx$(EXEEXT) @@ -217,6 +226,9 @@ fs/libfs$(LIBEXT): context drivers/libdrivers$(LIBEXT): context $(MAKE) -C drivers TOPDIR=$(TOPDIR) libdrivers$(LIBEXT) +pcode/libpcode$(LIBEXT): context + $(MAKE) -C pcode TOPDIR=$(TOPDIR) libpcode$(LIBEXT) + examples/$(CONFIG_EXAMPLE)/lib$(CONFIG_EXAMPLE)$(LIBEXT): context $(MAKE) -C examples/$(CONFIG_EXAMPLE) TOPDIR=$(TOPDIR) lib$(CONFIG_EXAMPLE)$(LIBEXT)