move build folder to platforms
authorPhil Burk <philburk@mobileer.com>
Sun, 21 Feb 2021 20:18:05 +0000 (12:18 -0800)
committerPhil Burk <philburk@mobileer.com>
Sun, 21 Feb 2021 20:30:31 +0000 (12:30 -0800)
Update Travis and README

17 files changed:
.gitignore
.travis.yml
build/linux-crossbuild-amiga/Makefile [deleted file]
build/linux-crossbuild-atari/Makefile [deleted file]
build/mingw-crossbuild-linux/Makefile [deleted file]
build/unix/Makefile [deleted file]
build/win32/vs2017/pforth.sln [deleted file]
build/win32/vs2017/pforth_main.vcxproj [deleted file]
build/win32/vs2017/pforth_main.vcxproj.filters [deleted file]
platforms/linux-crossbuild-amiga/Makefile [new file with mode: 0644]
platforms/linux-crossbuild-atari/Makefile [new file with mode: 0644]
platforms/mingw-crossbuild-linux/Makefile [new file with mode: 0644]
platforms/unix/Makefile [new file with mode: 0644]
platforms/win32/vs2017/pforth.sln [new file with mode: 0644]
platforms/win32/vs2017/pforth_main.vcxproj [new file with mode: 0644]
platforms/win32/vs2017/pforth_main.vcxproj.filters [new file with mode: 0644]
readme.txt

index c526f1b586b0fae0df9c317e2dbdd7d48f7c2c05..0ea33dcd8a75e5f55a2f57402de736037913b766 100644 (file)
@@ -1,12 +1,12 @@
-build/unix/*.eo
-build/unix/*.o
-build/unix/pfdicdat.h
-build/unix/pforth
-build/unix/pforth.dic
-build/unix/pforth_standalone
-build/win32/**/.vs
-build/win32/**/Debug
-build/win32/**/Release
+platforms/unix/*.eo
+platforms/unix/*.o
+platforms/unix/pfdicdat.h
+platforms/unix/pforth
+platforms/unix/pforth.dic
+platforms/unix/pforth_standalone
+platforms/win32/**/.vs
+platforms/win32/**/Debug
+platforms/win32/**/Release
 fth/fatest1.txt
 fth/pforth.dic
 **/.DS_Store
index c3496067a495eb886cc7a5e02d18d64537526fd9..08652c2d2443e9479ec4d24f0e8bbe4f73ebc21f 100644 (file)
@@ -18,4 +18,4 @@ before_install: |
      sudo apt-get install -y gcc-multilib
   fi
 script:  # CC is exported by travis
-  - make WIDTHOPT=$WIDTHOPT -C build/unix/ test
+  - make WIDTHOPT=$WIDTHOPT -C platforms/unix/ test
diff --git a/build/linux-crossbuild-amiga/Makefile b/build/linux-crossbuild-amiga/Makefile
deleted file mode 100644 (file)
index 55698f6..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-# This Makefile can be used to cross-compile pForth on a Linux host to
-# an Amiga target.  GCC is used as host-compiler and VBCC as
-# cross-compiler.
-
-# makefile for pForth
-# Portable Forth written in 'C'
-# by Phil Burk
-# For more info visit http://www.softsynth.com/pforth/
-#
-# See "help" target below.
-
-# Options include: PF_SUPPORT_FP PF_NO_MALLOC PF_NO_INIT PF_DEBUG
-# See "docs/pf_ref.htm" file for more info.
-
-# We are going to use VBCC as cross compiler.  I've installed VBCC
-# under /opt/m68k-amigaos.  It's configured to generate Motorola 680x0 code in
-# "Amiga Hunk" object format.
-VBCC := /opt/m68k-amigaos
-PATH := $(VBCC)/bin:$(PATH)
-XCC          = vc # The VBCC compiler
-
-SRCDIR       = ../..
-PFORTHDIR    = $(SRCDIR)
-CSRCDIR      = $(PFORTHDIR)/csrc
-FTHDIR       = $(PFORTHDIR)/fth
-
-PFDICAPP     = pforth
-PFORTHDIC    = pforth.dic
-PFDICDAT     = pfdicdat.h
-PFORTHAPP    = amiga_pforth_standalone
-
-# We need to create a 32-bit dictionary
-WIDTHOPT= -m32
-DEBUGOPTS = -g
-FULL_WARNINGS =  \
-        --std=c89 \
-        -pedantic \
-        -Wcast-qual \
-        -Wall \
-        -Wwrite-strings \
-        -Winline  \
-        -Wmissing-prototypes \
-        -Wmissing-declarations
-CCOPTS = $(WIDTHOPT) -x c -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS) $(DEBUGOPTS)
-
-#IO_SOURCE = pf_io_posix.c
-IO_SOURCE = pf_io_stdio.c pf_fileio_stdio.c
-#IO_SOURCE = pf_io_win32_console.c
-
-EMBCCOPTS = -DPF_STATIC_DIC
-
-#######################################
-PFINCLUDES = pf_all.h pf_cglue.h pf_clib.h pf_core.h pf_float.h \
-       pf_guts.h pf_host.h pf_inc1.h pf_io.h pf_mem.h pf_save.h \
-       pf_text.h pf_types.h pf_words.h pfcompfp.h \
-       pfcompil.h pfdicdat_arm.h pfinnrfp.h pforth.h
-PFBASESOURCE = pf_cglue.c pf_clib.c pf_core.c pf_inner.c \
-       pf_io.c pf_io_none.c pf_main.c pf_mem.c pf_save.c \
-       pf_text.c pf_words.c pfcompil.c pfcustom.c
-PFSOURCE = $(PFBASESOURCE) $(IO_SOURCE)
-
-VPATH = .:$(CSRCDIR):$(CSRCDIR)/posix:$(CSRCDIR)/stdio
-
-
-CPPFLAGS = -I. -DPF_BIG_ENDIAN_DIC -DPF_SUPPORT_FP
-CFLAGS = $(CCOPTS)
-LDFLAGS = $(WIDTHOPT) -lm
-
-COMPILE = $(CC) $(CFLAGS) $(CPPFLAGS)
-
-# Cross compiler flags (for VBCC not gcc)
-XCFLAGS = -c99 -O3
-#XCPPFLAGS = -DPF_SUPPORT_FP -DWIN32
-XCPPFLAGS = -I. -DAMIGA -DPF_SUPPORT_FP
-XLDFLAGS = -lmieee -lm881
-
-XCOMPILE = $(XCC) $(XCFLAGS) $(XCPPFLAGS)
-XLINK = $(XCC) $(XLDFLAGS)
-
-.SUFFIXES: .c .o .eo
-
-PFOBJS     = $(PFSOURCE:.c=.o)
-PFEMBOBJS  = $(PFSOURCE:.c=.eo)
-
-.c.o: $(PFINCLUDES)
-       $(COMPILE) -c -o $@ $<
-
-.c.eo: $(PFINCLUDES) pfdicdat.h
-       $(XCOMPILE) $(EMBCCOPTS) -c -o $@ $<
-
-.PHONY: all clean test
-.PHONY: help pffiles pfdicapp pfdicdat pforthapp
-
-all: $(PFORTHAPP)
-
-pffiles:
-       @echo "INCLUDE FILES -----------------"
-       @echo ${PFINCLUDES}
-       @echo "'C' FILES ---------------------"
-       @echo ${PFSOURCE}
-       @echo "OBJECT FILES ------------------"
-       @echo ${PFOBJS}
-       @echo "EMBEDDED OBJECT FILES ------------------"
-       @echo ${PFEMBOBJS}
-
-# Build pforth by compiling 'C' source.
-$(PFDICAPP): $(PFINCLUDES) $(PFOBJS)
-       $(CC) -o $@ $(PFOBJS) $(LDADD) $(LDFLAGS)
-
-# Build basic dictionary image by running newly built pforth and including "system.fth".
-$(PFORTHDIC): $(PFDICAPP)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFDICAPP) -i system.fth)
-       (cd $(FTHDIR); cat pforth.dic; rm -f pforth.dic) > $@
-
-$(PFDICDAT): $(PFORTHDIC) $(PFDICAPP)
-       echo 'include $(FTHDIR)/savedicd.fth SDAD'>load-dict-tmp.fth&& ./$(PFDICAPP) -d $(PFORTHDIC) load-dict-tmp.fth; rm -f load-dict-tmp.fth
-
-$(PFORTHAPP): $(PFDICDAT) $(PFEMBOBJS)
-       $(XLINK) -o $@ $(PFEMBOBJS) $(XLDADD)
-       @echo ""
-       @echo "Standalone pForth executable written to $(PFORTHAPP)"
-
-
-# target aliases
-pfdicapp: $(PFDICAPP)
-
-pfdicdat: $(PFDICDAT)
-
-pforthapp: $(PFORTHAPP)
-
-help:
-       @echo "Use 'make all' to build standalone pForth executable."
-       @echo "PForth can be built in several stages using these targets:"
-       @echo "   pfdicapp = executable pForth with minimal dictionary. All from 'C'."
-       @echo "   pfdicdat = image of full dictionary build by compiling Forth code."
-       @echo "   pforthapp = executable with embedded dictionary image. DEFAULT 'all' target."
-       @echo ""
-       @echo "   The file 'fth/pfdicdat.h' is generated by pForth. It contains a binary image of the Forth dictionary."
-       @echo "   It allows pForth to work as a standalone image that does not need to load a dictionary file."
-
-test: $(PFORTHAPP)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_corex.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_strings.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_locals.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_alloc.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_floats.fth)
-
-clean:
-       rm -f $(PFOBJS) $(PFEMBOBJS)
-       rm -f $(PFORTHAPP)
-       rm -f $(PFDICDAT) $(FTHDIR)/$(PFDICDAT)
-       rm -f $(PFORTHDIC) $(FTHDIR)/$(PFORTHDIC)
-       rm -f $(PFDICAPP)
diff --git a/build/linux-crossbuild-atari/Makefile b/build/linux-crossbuild-atari/Makefile
deleted file mode 100644 (file)
index 7327163..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-# This Makefile can be used to cross-compile pForth on a Linux host to
-# an Atari ST target.  GCC is used as host-compiler and VBCC as
-# cross-compiler.
-
-# makefile for pForth
-# Portable Forth written in 'C'
-# by Phil Burk
-# For more info visit http://www.softsynth.com/pforth/
-#
-# See "help" target below.
-
-# Options include: PF_SUPPORT_FP PF_NO_MALLOC PF_NO_INIT PF_DEBUG
-# See "docs/pf_ref.htm" file for more info.
-
-# We are going to use VBCC as cross compiler.  I've installed VBCC
-# under /opt/vbcc.  It's configured to generate Motorola 680x0 code.
-VBCC := /opt/vbcc
-PATH := $(VBCC)/bin:$(PATH)
-XCC          = vc # The VBCC compiler
-
-SRCDIR       = ../..
-PFORTHDIR    = $(SRCDIR)
-CSRCDIR      = $(PFORTHDIR)/csrc
-FTHDIR       = $(PFORTHDIR)/fth
-
-PFDICAPP     = pforth
-PFORTHDIC    = pforth.dic
-PFDICDAT     = pfdicdat.h
-PFORTHAPP    = pforth.ttp
-
-# We need to create a 32-bit dictionary
-WIDTHOPT= -m32
-DEBUGOPTS = -g
-FULL_WARNINGS =  \
-        --std=c89 \
-        -pedantic \
-        -Wcast-qual \
-        -Wall \
-        -Wwrite-strings \
-        -Winline  \
-        -Wmissing-prototypes \
-        -Wmissing-declarations
-CCOPTS = $(WIDTHOPT) -x c -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS) $(DEBUGOPTS)
-
-#IO_SOURCE = pf_io_posix.c
-IO_SOURCE = pf_io_stdio.c pf_fileio_stdio.c
-#IO_SOURCE = pf_io_win32_console.c
-
-EMBCCOPTS = -DPF_STATIC_DIC
-
-#######################################
-PFINCLUDES = pf_all.h pf_cglue.h pf_clib.h pf_core.h pf_float.h \
-       pf_guts.h pf_host.h pf_inc1.h pf_io.h pf_mem.h pf_save.h \
-       pf_text.h pf_types.h pf_words.h pfcompfp.h \
-       pfcompil.h pfdicdat_arm.h pfinnrfp.h pforth.h
-PFBASESOURCE = pf_cglue.c pf_clib.c pf_core.c pf_inner.c \
-       pf_io.c pf_io_none.c pf_main.c pf_mem.c pf_save.c \
-       pf_text.c pf_words.c pfcompil.c pfcustom.c
-PFSOURCE = $(PFBASESOURCE) $(IO_SOURCE)
-
-VPATH = .:$(CSRCDIR):$(CSRCDIR)/posix:$(CSRCDIR)/stdio
-
-
-CPPFLAGS = -I. -DPF_BIG_ENDIAN_DIC -DPF_SUPPORT_FP
-CFLAGS = $(CCOPTS)
-LDFLAGS = $(WIDTHOPT) -lm
-
-COMPILE = $(CC) $(CFLAGS) $(CPPFLAGS)
-
-# Cross compiler flags (for VBCC not gcc)
-XCFLAGS = +tos -c99 -O3
-#XCPPFLAGS = -DPF_SUPPORT_FP -DWIN32
-XCPPFLAGS = -I. -DATARI -DPF_SUPPORT_FP
-XLDFLAGS = +tos -lm -lm881
-
-XCOMPILE = $(XCC) $(XCFLAGS) $(XCPPFLAGS)
-XLINK = $(XCC) $(XLDFLAGS)
-
-.SUFFIXES: .c .o .eo
-
-PFOBJS     = $(PFSOURCE:.c=.o)
-PFEMBOBJS  = $(PFSOURCE:.c=.eo)
-
-.c.o: $(PFINCLUDES)
-       $(COMPILE) -c -o $@ $<
-
-.c.eo: $(PFINCLUDES) pfdicdat.h
-       $(XCOMPILE) $(EMBCCOPTS) -c -o $@ $<
-
-.PHONY: all clean test
-.PHONY: help pffiles pfdicapp pfdicdat pforthapp
-
-all: $(PFORTHAPP)
-
-pffiles:
-       @echo "INCLUDE FILES -----------------"
-       @echo ${PFINCLUDES}
-       @echo "'C' FILES ---------------------"
-       @echo ${PFSOURCE}
-       @echo "OBJECT FILES ------------------"
-       @echo ${PFOBJS}
-       @echo "EMBEDDED OBJECT FILES ------------------"
-       @echo ${PFEMBOBJS}
-
-# Build pforth by compiling 'C' source.
-$(PFDICAPP): $(PFINCLUDES) $(PFOBJS)
-       $(CC) -o $@ $(PFOBJS) $(LDADD) $(LDFLAGS)
-
-# Build basic dictionary image by running newly built pforth and including "system.fth".
-$(PFORTHDIC): $(PFDICAPP)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFDICAPP) -i system.fth)
-       (cd $(FTHDIR); cat pforth.dic; rm -f pforth.dic) > $@
-
-$(PFDICDAT): $(PFORTHDIC) $(PFDICAPP)
-       echo 'include $(FTHDIR)/savedicd.fth SDAD'>load-dict-tmp.fth&& ./$(PFDICAPP) -d $(PFORTHDIC) load-dict-tmp.fth; rm -f load-dict-tmp.fth
-
-$(PFORTHAPP): $(PFDICDAT) $(PFEMBOBJS)
-       $(XLINK) -o $@ $(PFEMBOBJS) $(XLDADD)
-       @echo ""
-       @echo "Standalone pForth executable written to $(PFORTHAPP)"
-
-
-# target aliases
-pfdicapp: $(PFDICAPP)
-
-pfdicdat: $(PFDICDAT)
-
-pforthapp: $(PFORTHAPP)
-
-help:
-       @echo "Use 'make all' to build standalone pForth executable."
-       @echo "PForth can be built in several stages using these targets:"
-       @echo "   pfdicapp = executable pForth with minimal dictionary. All from 'C'."
-       @echo "   pfdicdat = image of full dictionary build by compiling Forth code."
-       @echo "   pforthapp = executable with embedded dictionary image. DEFAULT 'all' target."
-       @echo ""
-       @echo "   The file 'fth/pfdicdat.h' is generated by pForth. It contains a binary image of the Forth dictionary."
-       @echo "   It allows pForth to work as a standalone image that does not need to load a dictionary file."
-
-test: $(PFORTHAPP)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_corex.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_strings.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_locals.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_alloc.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_floats.fth)
-
-clean:
-       rm -f $(PFOBJS) $(PFEMBOBJS)
-       rm -f $(PFORTHAPP)
-       rm -f $(PFDICDAT) $(FTHDIR)/$(PFDICDAT)
-       rm -f $(PFORTHDIC) $(FTHDIR)/$(PFORTHDIC)
-       rm -f $(PFDICAPP)
diff --git a/build/mingw-crossbuild-linux/Makefile b/build/mingw-crossbuild-linux/Makefile
deleted file mode 100644 (file)
index a6d3161..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-# makefile for pForth
-# Portable Forth written in 'C'
-# by Phil Burk
-# For more info visit http://www.softsynth.com/pforth/
-#
-# See "help" target below.
-
-.POSIX:
-
-# Options include: PF_SUPPORT_FP PF_NO_MALLOC PF_NO_INIT PF_DEBUG
-# See "docs/pf_ref.htm" file for more info.
-
-CC           = x86_64-w64-mingw32-gcc
-WINE         = wineconsole
-SRCDIR       = ../..
-PFORTHDIR    = $(SRCDIR)
-CSRCDIR      = $(PFORTHDIR)/csrc
-FTHDIR       = $(PFORTHDIR)/fth
-
-PFDICAPP     = pforth.exe
-PFORTHDIC    = pforth.dic
-PFDICDAT     = pfdicdat.h
-PFORTHAPP    = pforth_standalone.exe
-
-# This is needed to get pForth to build on Snow Leopard and other 64 bit platforms.
-WIDTHOPT=
-
-FULL_WARNINGS =  \
-        --std=c89 \
-        -fsigned-char \
-        -fno-builtin \
-        -fno-unroll-loops \
-        -fpeephole \
-        -fno-keep-inline-functions \
-        -pedantic \
-        -Wcast-qual \
-        -Wall \
-        -Wwrite-strings \
-        -Winline  \
-        -Wmissing-prototypes \
-        -Wmissing-declarations
-
-DEBUGOPTS = -g
-CCOPTS = $(WIDTHOPT) -x c -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS) $(DEBUGOPTS)
-
-#IO_SOURCE = pf_io_posix.c
-#IO_SOURCE = pf_io_stdio.c
-IO_SOURCE = pf_io_win32_console.c pf_fileio_stdio.c
-
-EMBCCOPTS = -DPF_STATIC_DIC
-
-#######################################
-PFINCLUDES = pf_all.h pf_cglue.h pf_clib.h pf_core.h pf_float.h \
-       pf_guts.h pf_host.h pf_inc1.h pf_io.h pf_mem.h pf_save.h \
-       pf_text.h pf_types.h pf_win32.h pf_words.h pfcompfp.h \
-       pfcompil.h pfdicdat_arm.h pfinnrfp.h pforth.h
-PFBASESOURCE = pf_cglue.c pf_clib.c pf_core.c pf_inner.c \
-       pf_io.c pf_io_none.c pf_main.c pf_mem.c pf_save.c \
-       pf_text.c pf_words.c pfcompil.c pfcustom.c
-PFSOURCE = $(PFBASESOURCE) $(IO_SOURCE)
-
-VPATH = .:$(CSRCDIR):$(CSRCDIR)/posix:$(CSRCDIR)/stdio:$(CSRCDIR)/win32_console:$(CSRCDIR)/win32
-
-XCFLAGS = $(CCOPTS)
-#XCPPFLAGS = -DPF_SUPPORT_FP -DWIN32
-XCPPFLAGS = -DWIN32
-XLDFLAGS = $(WIDTHOPT)
-
-CPPFLAGS = -I. $(XCPPFLAGS)
-CFLAGS = $(XCFLAGS)
-LDFLAGS = $(XLDFLAGS)
-
-COMPILE = $(CC) $(CFLAGS) $(CPPFLAGS)
-LINK = $(CC) $(LDFLAGS)
-
-.SUFFIXES: .c .o .eo
-
-PFOBJS     = $(PFSOURCE:.c=.o)
-PFEMBOBJS  = $(PFSOURCE:.c=.eo)
-
-.c.o: $(PFINCLUDES)
-       $(COMPILE) -c -o $@ $<
-
-.c.eo: $(PFINCLUDES) pfdicdat.h
-       $(COMPILE) $(EMBCCOPTS) -c -o $@ $<
-
-.PHONY: all clean test
-.PHONY: help pffiles pfdicapp pfdicdat pforthapp
-
-all: $(PFORTHAPP)
-
-pffiles:
-       @echo "INCLUDE FILES -----------------"
-       @echo ${PFINCLUDES}
-       @echo "'C' FILES ---------------------"
-       @echo ${PFSOURCE}
-       @echo "OBJECT FILES ------------------"
-       @echo ${PFOBJS}
-       @echo "EMBEDDED OBJECT FILES ------------------"
-       @echo ${PFEMBOBJS}
-
-# Build pforth by compiling 'C' source.
-$(PFDICAPP): $(PFINCLUDES) $(PFOBJS)
-       $(LINK) -o $@ $(PFOBJS) $(LDADD) -lm
-
-# Build basic dictionary image by running newly built pforth and including "system.fth".
-$(PFORTHDIC): $(PFDICAPP)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFDICAPP) -i system.fth)
-       (cd $(FTHDIR); cat pforth.dic; rm -f pforth.dic) > $@
-
-$(PFDICDAT): $(PFORTHDIC) $(PFDICAPP)
-       echo 'include $(FTHDIR)/savedicd.fth SDAD BYE'>load-dict-tmp.fth&& $(WINE) ./$(PFDICAPP) -d $(PFORTHDIC) load-dict-tmp.fth; rm -f load-dict-tmp.fth
-
-$(PFORTHAPP): $(PFDICDAT) $(PFEMBOBJS)
-       $(LINK) -o $@ $(PFEMBOBJS) $(LDADD) -lm
-       @echo ""
-       @echo "Standalone pForth executable written to $(PFORTHAPP)"
-
-
-# target aliases
-pfdicapp: $(PFDICAPP)
-
-pfdicdat: $(PFDICDAT)
-
-pforthapp: $(PFORTHAPP)
-
-help:
-       @echo "Use 'make all' to build standalone pForth executable."
-       @echo "PForth can be built in several stages using these targets:"
-       @echo "   pfdicapp = executable pForth with minimal dictionary. All from 'C'."
-       @echo "   pfdicdat = image of full dictionary build by compiling Forth code."
-       @echo "   pforthapp = executable with embedded dictionary image. DEFAULT 'all' target."
-       @echo ""
-       @echo "   The file 'fth/pfdicdat.h' is generated by pForth. It contains a binary image of the Forth dictionary."
-       @echo "   It allows pForth to work as a standalone image that does not need to load a dictionary file."
-
-test: $(PFORTHAPP)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_corex.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_strings.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_locals.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_alloc.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_floats.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_file.fth)
-
-clean:
-       rm -f $(PFOBJS) $(PFEMBOBJS)
-       rm -f $(PFORTHAPP)
-       rm -f $(PFDICDAT) $(FTHDIR)/$(PFDICDAT)
-       rm -f $(PFORTHDIC) $(FTHDIR)/$(PFORTHDIC)
-       rm -f $(PFDICAPP)
diff --git a/build/unix/Makefile b/build/unix/Makefile
deleted file mode 100644 (file)
index 626d0ce..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-# makefile for pForth
-# Portable Forth written in 'C'
-# by Phil Burk
-# For more info visit http://www.softsynth.com/pforth/
-#
-# See "help" target below.
-
-.POSIX:
-
-# Options include: PF_SUPPORT_FP PF_NO_MALLOC PF_NO_INIT PF_DEBUG
-# See "docs/pf_ref.htm" file for more info.
-
-SRCDIR       = ../..
-PFORTHDIR    = $(SRCDIR)
-CSRCDIR      = $(PFORTHDIR)/csrc
-FTHDIR       = $(PFORTHDIR)/fth
-
-PFDICAPP     = pforth
-PFORTHDIC    = pforth.dic
-PFDICDAT     = pfdicdat.h
-PFORTHAPP    = pforth_standalone
-
-# This is needed to get pForth to build on Snow Leopard and other 64 bit platforms.
-WIDTHOPT=
-
-FULL_WARNINGS =  \
-        --std=c89 \
-        -fsigned-char \
-        -fno-builtin \
-        -fno-unroll-loops \
-        -fno-keep-inline-functions \
-        -pedantic \
-        -Wcast-qual \
-        -Wall \
-        -Wwrite-strings \
-        -Winline  \
-        -Wmissing-prototypes \
-        -Wmissing-declarations
-
-DEBUGOPTS = -g
-CCOPTS = $(WIDTHOPT) -x c -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS) $(DEBUGOPTS)
-
-IO_SOURCE = pf_io_posix.c pf_fileio_stdio.c
-#IO_SOURCE = pf_io_stdio.c
-
-EMBCCOPTS = -DPF_STATIC_DIC #-DPF_NO_FILEIO
-
-#######################################
-PFINCLUDES = pf_all.h pf_cglue.h pf_clib.h pf_core.h pf_float.h \
-       pf_guts.h pf_host.h pf_inc1.h pf_io.h pf_mem.h pf_save.h \
-       pf_text.h pf_types.h pf_win32.h pf_words.h pfcompfp.h \
-       pfcompil.h pfdicdat_arm.h pfinnrfp.h pforth.h
-PFBASESOURCE = pf_cglue.c pf_clib.c pf_core.c pf_inner.c \
-       pf_io.c pf_io_none.c pf_main.c pf_mem.c pf_save.c \
-       pf_text.c pf_words.c pfcompil.c pfcustom.c
-PFSOURCE = $(PFBASESOURCE) $(IO_SOURCE)
-
-VPATH = .:$(CSRCDIR):$(CSRCDIR)/posix:$(CSRCDIR)/stdio:$(CSRCDIR)/win32_console:$(CSRCDIR)/win32
-
-XCFLAGS = $(CCOPTS)
-XCPPFLAGS = -DPF_SUPPORT_FP -D_DEFAULT_SOURCE -D_GNU_SOURCE
-XLDFLAGS = $(WIDTHOPT)
-
-CPPFLAGS = -I. $(XCPPFLAGS)
-CFLAGS = $(XCFLAGS)
-LDFLAGS = $(XLDFLAGS)
-
-COMPILE = $(CC) $(CFLAGS) $(CPPFLAGS)
-LINK = $(CC) $(LDFLAGS)
-
-.SUFFIXES: .c .o .eo
-
-PFOBJS     = $(PFSOURCE:.c=.o)
-PFEMBOBJS  = $(PFSOURCE:.c=.eo)
-
-%.o: %.c $(PFINCLUDES)
-       $(COMPILE) -c -o $@ $<
-
-%.eo: %.c $(PFINCLUDES) pfdicdat.h
-       $(COMPILE) $(EMBCCOPTS) -c -o $@ $<
-
-.PHONY: all clean test
-.PHONY: help pffiles pfdicapp pfdicdat pforthapp
-
-all: $(PFORTHAPP)
-
-pffiles:
-       @echo "INCLUDE FILES -----------------"
-       @echo ${PFINCLUDES}
-       @echo "'C' FILES ---------------------"
-       @echo ${PFSOURCE}
-       @echo "OBJECT FILES ------------------"
-       @echo ${PFOBJS}
-       @echo "EMBEDDED OBJECT FILES ------------------"
-       @echo ${PFEMBOBJS}
-
-# Build pforth by compiling 'C' source.
-$(PFDICAPP): $(PFINCLUDES) $(PFOBJS)
-       $(LINK) -o $@ $(PFOBJS) $(LDADD) -lm
-
-# Build basic dictionary image by running newly built pforth and including "system.fth".
-$(PFORTHDIC): $(PFDICAPP)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFDICAPP) -i system.fth)
-       (cd $(FTHDIR); cat pforth.dic; rm -f pforth.dic) > $@
-
-$(PFDICDAT): $(PFORTHDIC) $(PFDICAPP)
-       echo 'include $(FTHDIR)/savedicd.fth SDAD BYE' | ./$(PFDICAPP) -d $(PFORTHDIC)
-
-$(PFORTHAPP): $(PFDICDAT) $(PFEMBOBJS)
-       $(LINK) -o $@ $(PFEMBOBJS) $(LDADD) -lm
-       @echo ""
-       @echo "Standalone pForth executable written to $(PFORTHAPP)"
-
-
-# target aliases
-pfdicapp: $(PFDICAPP)
-
-pfdicdat: $(PFDICDAT)
-
-pforthapp: $(PFORTHAPP)
-
-help:
-       @echo "Use 'make all' to build standalone pForth executable."
-       @echo "PForth can be built in several stages using these targets:"
-       @echo "   pfdicapp = executable pForth with minimal dictionary. All from 'C'."
-       @echo "   pfdicdat = image of full dictionary build by compiling Forth code."
-       @echo "   pforthapp = executable with embedded dictionary image. DEFAULT 'all' target."
-       @echo ""
-       @echo "   The file 'fth/pfdicdat.h' is generated by pForth. It contains a binary image of the Forth dictionary."
-       @echo "   It allows pForth to work as a standalone image that does not need to load a dictionary file."
-
-test: $(PFORTHAPP)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_corex.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_strings.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_locals.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_alloc.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_floats.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_file.fth)
-
-clean:
-       rm -f $(PFOBJS) $(PFEMBOBJS)
-       rm -f $(PFORTHAPP)
-       rm -f $(PFDICDAT) $(FTHDIR)/$(PFDICDAT)
-       rm -f $(PFORTHDIC) $(FTHDIR)/$(PFORTHDIC)
-       rm -f $(PFDICAPP)
diff --git a/build/win32/vs2017/pforth.sln b/build/win32/vs2017/pforth.sln
deleted file mode 100644 (file)
index b35fd9c..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.27130.2010
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pforth_main", "pforth_main.vcxproj", "{58B76DB8-1985-4B8A-8E71-C012D8F0C518}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Win32 = Debug|Win32
-               Debug|x64 = Debug|x64
-               Release|Win32 = Release|Win32
-               Release|x64 = Release|x64
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|Win32.ActiveCfg = Debug|Win32
-               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|Win32.Build.0 = Debug|Win32
-               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|x64.ActiveCfg = Debug|x64
-               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|x64.Build.0 = Debug|x64
-               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.ActiveCfg = Release|Win32
-               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.Build.0 = Release|Win32
-               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|x64.ActiveCfg = Release|x64
-               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|x64.Build.0 = Release|x64
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-       GlobalSection(ExtensibilityGlobals) = postSolution
-               SolutionGuid = {4FCA3FD0-0EBB-4534-9A49-51A638D09B2F}
-       EndGlobalSection
-EndGlobal
diff --git a/build/win32/vs2017/pforth_main.vcxproj b/build/win32/vs2017/pforth_main.vcxproj
deleted file mode 100644 (file)
index 0b6ab8b..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{58B76DB8-1985-4B8A-8E71-C012D8F0C518}</ProjectGuid>
-    <RootNamespace>pforth_main</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-    <TargetName>pforth</TargetName>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v141</PlatformToolset>
-    <CharacterSet>NotSet</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v141</PlatformToolset>
-    <CharacterSet>NotSet</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v141</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v141</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>15.0.27130.2010</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>$(SolutionDir)..\..\..\fth\</OutDir>
-    <IntDir>$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>$(SolutionDir)..\..\..\fth\</OutDir>
-    <IntDir>$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader />
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader />
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\csrc\pfcompil.c" />
-    <ClCompile Include="..\..\..\csrc\pfcustom.c" />
-    <ClCompile Include="..\..\..\csrc\pf_cglue.c" />
-    <ClCompile Include="..\..\..\csrc\pf_clib.c" />
-    <ClCompile Include="..\..\..\csrc\pf_core.c" />
-    <ClCompile Include="..\..\..\csrc\pf_inner.c" />
-    <ClCompile Include="..\..\..\csrc\pf_io.c" />
-    <ClCompile Include="..\..\..\csrc\pf_io_none.c" />
-    <ClCompile Include="..\..\..\csrc\pf_main.c" />
-    <ClCompile Include="..\..\..\csrc\pf_mem.c" />
-    <ClCompile Include="..\..\..\csrc\pf_save.c" />
-    <ClCompile Include="..\..\..\csrc\pf_text.c" />
-    <ClCompile Include="..\..\..\csrc\pf_words.c" />
-    <ClCompile Include="..\..\..\csrc\stdio\pf_fileio_stdio.c" />
-    <ClCompile Include="..\..\..\csrc\win32_console\pf_io_win32_console.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\..\csrc\pfcompfp.h" />
-    <ClInclude Include="..\..\..\csrc\pfcompil.h" />
-    <ClInclude Include="..\..\..\csrc\pfdicdat.h" />
-    <ClInclude Include="..\..\..\csrc\pfdicdat_arm.h" />
-    <ClInclude Include="..\..\..\csrc\pfinnrfp.h" />
-    <ClInclude Include="..\..\..\csrc\pforth.h" />
-    <ClInclude Include="..\..\..\csrc\pf_all.h" />
-    <ClInclude Include="..\..\..\csrc\pf_cglue.h" />
-    <ClInclude Include="..\..\..\csrc\pf_clib.h" />
-    <ClInclude Include="..\..\..\csrc\pf_core.h" />
-    <ClInclude Include="..\..\..\csrc\pf_float.h" />
-    <ClInclude Include="..\..\..\csrc\pf_guts.h" />
-    <ClInclude Include="..\..\..\csrc\pf_host.h" />
-    <ClInclude Include="..\..\..\csrc\pf_inc1.h" />
-    <ClInclude Include="..\..\..\csrc\pf_io.h" />
-    <ClInclude Include="..\..\..\csrc\pf_mem.h" />
-    <ClInclude Include="..\..\..\csrc\pf_save.h" />
-    <ClInclude Include="..\..\..\csrc\pf_text.h" />
-    <ClInclude Include="..\..\..\csrc\pf_types.h" />
-    <ClInclude Include="..\..\..\csrc\pf_win32.h" />
-    <ClInclude Include="..\..\..\csrc\pf_words.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/build/win32/vs2017/pforth_main.vcxproj.filters b/build/win32/vs2017/pforth_main.vcxproj.filters
deleted file mode 100644 (file)
index 2f6b984..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <ClCompile Include="..\..\..\csrc\pf_cglue.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pf_clib.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pf_core.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\stdio\pf_fileio_stdio.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pf_inner.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pf_io.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pf_io_none.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\win32_console\pf_io_win32_console.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pf_mem.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pf_main.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pf_save.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pf_text.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pf_words.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pfcompil.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\csrc\pfcustom.c">
-      <Filter>Source</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\..\csrc\pf_all.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_cglue.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_clib.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_core.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_float.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_guts.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_host.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_inc1.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_io.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_mem.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_save.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_text.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_types.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_win32.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pf_words.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pfcompfp.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pfcompil.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pfdicdat_arm.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pfdicdat.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pfinnrfp.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\csrc\pforth.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <Filter Include="Include">
-      <UniqueIdentifier>{6711f4b0-6d8c-4641-8260-e6d2c953bd3b}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Source">
-      <UniqueIdentifier>{298706eb-f166-4f0b-8404-a52c3fdf5d21}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/platforms/linux-crossbuild-amiga/Makefile b/platforms/linux-crossbuild-amiga/Makefile
new file mode 100644 (file)
index 0000000..55698f6
--- /dev/null
@@ -0,0 +1,153 @@
+# This Makefile can be used to cross-compile pForth on a Linux host to
+# an Amiga target.  GCC is used as host-compiler and VBCC as
+# cross-compiler.
+
+# makefile for pForth
+# Portable Forth written in 'C'
+# by Phil Burk
+# For more info visit http://www.softsynth.com/pforth/
+#
+# See "help" target below.
+
+# Options include: PF_SUPPORT_FP PF_NO_MALLOC PF_NO_INIT PF_DEBUG
+# See "docs/pf_ref.htm" file for more info.
+
+# We are going to use VBCC as cross compiler.  I've installed VBCC
+# under /opt/m68k-amigaos.  It's configured to generate Motorola 680x0 code in
+# "Amiga Hunk" object format.
+VBCC := /opt/m68k-amigaos
+PATH := $(VBCC)/bin:$(PATH)
+XCC          = vc # The VBCC compiler
+
+SRCDIR       = ../..
+PFORTHDIR    = $(SRCDIR)
+CSRCDIR      = $(PFORTHDIR)/csrc
+FTHDIR       = $(PFORTHDIR)/fth
+
+PFDICAPP     = pforth
+PFORTHDIC    = pforth.dic
+PFDICDAT     = pfdicdat.h
+PFORTHAPP    = amiga_pforth_standalone
+
+# We need to create a 32-bit dictionary
+WIDTHOPT= -m32
+DEBUGOPTS = -g
+FULL_WARNINGS =  \
+        --std=c89 \
+        -pedantic \
+        -Wcast-qual \
+        -Wall \
+        -Wwrite-strings \
+        -Winline  \
+        -Wmissing-prototypes \
+        -Wmissing-declarations
+CCOPTS = $(WIDTHOPT) -x c -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS) $(DEBUGOPTS)
+
+#IO_SOURCE = pf_io_posix.c
+IO_SOURCE = pf_io_stdio.c pf_fileio_stdio.c
+#IO_SOURCE = pf_io_win32_console.c
+
+EMBCCOPTS = -DPF_STATIC_DIC
+
+#######################################
+PFINCLUDES = pf_all.h pf_cglue.h pf_clib.h pf_core.h pf_float.h \
+       pf_guts.h pf_host.h pf_inc1.h pf_io.h pf_mem.h pf_save.h \
+       pf_text.h pf_types.h pf_words.h pfcompfp.h \
+       pfcompil.h pfdicdat_arm.h pfinnrfp.h pforth.h
+PFBASESOURCE = pf_cglue.c pf_clib.c pf_core.c pf_inner.c \
+       pf_io.c pf_io_none.c pf_main.c pf_mem.c pf_save.c \
+       pf_text.c pf_words.c pfcompil.c pfcustom.c
+PFSOURCE = $(PFBASESOURCE) $(IO_SOURCE)
+
+VPATH = .:$(CSRCDIR):$(CSRCDIR)/posix:$(CSRCDIR)/stdio
+
+
+CPPFLAGS = -I. -DPF_BIG_ENDIAN_DIC -DPF_SUPPORT_FP
+CFLAGS = $(CCOPTS)
+LDFLAGS = $(WIDTHOPT) -lm
+
+COMPILE = $(CC) $(CFLAGS) $(CPPFLAGS)
+
+# Cross compiler flags (for VBCC not gcc)
+XCFLAGS = -c99 -O3
+#XCPPFLAGS = -DPF_SUPPORT_FP -DWIN32
+XCPPFLAGS = -I. -DAMIGA -DPF_SUPPORT_FP
+XLDFLAGS = -lmieee -lm881
+
+XCOMPILE = $(XCC) $(XCFLAGS) $(XCPPFLAGS)
+XLINK = $(XCC) $(XLDFLAGS)
+
+.SUFFIXES: .c .o .eo
+
+PFOBJS     = $(PFSOURCE:.c=.o)
+PFEMBOBJS  = $(PFSOURCE:.c=.eo)
+
+.c.o: $(PFINCLUDES)
+       $(COMPILE) -c -o $@ $<
+
+.c.eo: $(PFINCLUDES) pfdicdat.h
+       $(XCOMPILE) $(EMBCCOPTS) -c -o $@ $<
+
+.PHONY: all clean test
+.PHONY: help pffiles pfdicapp pfdicdat pforthapp
+
+all: $(PFORTHAPP)
+
+pffiles:
+       @echo "INCLUDE FILES -----------------"
+       @echo ${PFINCLUDES}
+       @echo "'C' FILES ---------------------"
+       @echo ${PFSOURCE}
+       @echo "OBJECT FILES ------------------"
+       @echo ${PFOBJS}
+       @echo "EMBEDDED OBJECT FILES ------------------"
+       @echo ${PFEMBOBJS}
+
+# Build pforth by compiling 'C' source.
+$(PFDICAPP): $(PFINCLUDES) $(PFOBJS)
+       $(CC) -o $@ $(PFOBJS) $(LDADD) $(LDFLAGS)
+
+# Build basic dictionary image by running newly built pforth and including "system.fth".
+$(PFORTHDIC): $(PFDICAPP)
+       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFDICAPP) -i system.fth)
+       (cd $(FTHDIR); cat pforth.dic; rm -f pforth.dic) > $@
+
+$(PFDICDAT): $(PFORTHDIC) $(PFDICAPP)
+       echo 'include $(FTHDIR)/savedicd.fth SDAD'>load-dict-tmp.fth&& ./$(PFDICAPP) -d $(PFORTHDIC) load-dict-tmp.fth; rm -f load-dict-tmp.fth
+
+$(PFORTHAPP): $(PFDICDAT) $(PFEMBOBJS)
+       $(XLINK) -o $@ $(PFEMBOBJS) $(XLDADD)
+       @echo ""
+       @echo "Standalone pForth executable written to $(PFORTHAPP)"
+
+
+# target aliases
+pfdicapp: $(PFDICAPP)
+
+pfdicdat: $(PFDICDAT)
+
+pforthapp: $(PFORTHAPP)
+
+help:
+       @echo "Use 'make all' to build standalone pForth executable."
+       @echo "PForth can be built in several stages using these targets:"
+       @echo "   pfdicapp = executable pForth with minimal dictionary. All from 'C'."
+       @echo "   pfdicdat = image of full dictionary build by compiling Forth code."
+       @echo "   pforthapp = executable with embedded dictionary image. DEFAULT 'all' target."
+       @echo ""
+       @echo "   The file 'fth/pfdicdat.h' is generated by pForth. It contains a binary image of the Forth dictionary."
+       @echo "   It allows pForth to work as a standalone image that does not need to load a dictionary file."
+
+test: $(PFORTHAPP)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_corex.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_strings.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_locals.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_alloc.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_floats.fth)
+
+clean:
+       rm -f $(PFOBJS) $(PFEMBOBJS)
+       rm -f $(PFORTHAPP)
+       rm -f $(PFDICDAT) $(FTHDIR)/$(PFDICDAT)
+       rm -f $(PFORTHDIC) $(FTHDIR)/$(PFORTHDIC)
+       rm -f $(PFDICAPP)
diff --git a/platforms/linux-crossbuild-atari/Makefile b/platforms/linux-crossbuild-atari/Makefile
new file mode 100644 (file)
index 0000000..7327163
--- /dev/null
@@ -0,0 +1,152 @@
+# This Makefile can be used to cross-compile pForth on a Linux host to
+# an Atari ST target.  GCC is used as host-compiler and VBCC as
+# cross-compiler.
+
+# makefile for pForth
+# Portable Forth written in 'C'
+# by Phil Burk
+# For more info visit http://www.softsynth.com/pforth/
+#
+# See "help" target below.
+
+# Options include: PF_SUPPORT_FP PF_NO_MALLOC PF_NO_INIT PF_DEBUG
+# See "docs/pf_ref.htm" file for more info.
+
+# We are going to use VBCC as cross compiler.  I've installed VBCC
+# under /opt/vbcc.  It's configured to generate Motorola 680x0 code.
+VBCC := /opt/vbcc
+PATH := $(VBCC)/bin:$(PATH)
+XCC          = vc # The VBCC compiler
+
+SRCDIR       = ../..
+PFORTHDIR    = $(SRCDIR)
+CSRCDIR      = $(PFORTHDIR)/csrc
+FTHDIR       = $(PFORTHDIR)/fth
+
+PFDICAPP     = pforth
+PFORTHDIC    = pforth.dic
+PFDICDAT     = pfdicdat.h
+PFORTHAPP    = pforth.ttp
+
+# We need to create a 32-bit dictionary
+WIDTHOPT= -m32
+DEBUGOPTS = -g
+FULL_WARNINGS =  \
+        --std=c89 \
+        -pedantic \
+        -Wcast-qual \
+        -Wall \
+        -Wwrite-strings \
+        -Winline  \
+        -Wmissing-prototypes \
+        -Wmissing-declarations
+CCOPTS = $(WIDTHOPT) -x c -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS) $(DEBUGOPTS)
+
+#IO_SOURCE = pf_io_posix.c
+IO_SOURCE = pf_io_stdio.c pf_fileio_stdio.c
+#IO_SOURCE = pf_io_win32_console.c
+
+EMBCCOPTS = -DPF_STATIC_DIC
+
+#######################################
+PFINCLUDES = pf_all.h pf_cglue.h pf_clib.h pf_core.h pf_float.h \
+       pf_guts.h pf_host.h pf_inc1.h pf_io.h pf_mem.h pf_save.h \
+       pf_text.h pf_types.h pf_words.h pfcompfp.h \
+       pfcompil.h pfdicdat_arm.h pfinnrfp.h pforth.h
+PFBASESOURCE = pf_cglue.c pf_clib.c pf_core.c pf_inner.c \
+       pf_io.c pf_io_none.c pf_main.c pf_mem.c pf_save.c \
+       pf_text.c pf_words.c pfcompil.c pfcustom.c
+PFSOURCE = $(PFBASESOURCE) $(IO_SOURCE)
+
+VPATH = .:$(CSRCDIR):$(CSRCDIR)/posix:$(CSRCDIR)/stdio
+
+
+CPPFLAGS = -I. -DPF_BIG_ENDIAN_DIC -DPF_SUPPORT_FP
+CFLAGS = $(CCOPTS)
+LDFLAGS = $(WIDTHOPT) -lm
+
+COMPILE = $(CC) $(CFLAGS) $(CPPFLAGS)
+
+# Cross compiler flags (for VBCC not gcc)
+XCFLAGS = +tos -c99 -O3
+#XCPPFLAGS = -DPF_SUPPORT_FP -DWIN32
+XCPPFLAGS = -I. -DATARI -DPF_SUPPORT_FP
+XLDFLAGS = +tos -lm -lm881
+
+XCOMPILE = $(XCC) $(XCFLAGS) $(XCPPFLAGS)
+XLINK = $(XCC) $(XLDFLAGS)
+
+.SUFFIXES: .c .o .eo
+
+PFOBJS     = $(PFSOURCE:.c=.o)
+PFEMBOBJS  = $(PFSOURCE:.c=.eo)
+
+.c.o: $(PFINCLUDES)
+       $(COMPILE) -c -o $@ $<
+
+.c.eo: $(PFINCLUDES) pfdicdat.h
+       $(XCOMPILE) $(EMBCCOPTS) -c -o $@ $<
+
+.PHONY: all clean test
+.PHONY: help pffiles pfdicapp pfdicdat pforthapp
+
+all: $(PFORTHAPP)
+
+pffiles:
+       @echo "INCLUDE FILES -----------------"
+       @echo ${PFINCLUDES}
+       @echo "'C' FILES ---------------------"
+       @echo ${PFSOURCE}
+       @echo "OBJECT FILES ------------------"
+       @echo ${PFOBJS}
+       @echo "EMBEDDED OBJECT FILES ------------------"
+       @echo ${PFEMBOBJS}
+
+# Build pforth by compiling 'C' source.
+$(PFDICAPP): $(PFINCLUDES) $(PFOBJS)
+       $(CC) -o $@ $(PFOBJS) $(LDADD) $(LDFLAGS)
+
+# Build basic dictionary image by running newly built pforth and including "system.fth".
+$(PFORTHDIC): $(PFDICAPP)
+       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFDICAPP) -i system.fth)
+       (cd $(FTHDIR); cat pforth.dic; rm -f pforth.dic) > $@
+
+$(PFDICDAT): $(PFORTHDIC) $(PFDICAPP)
+       echo 'include $(FTHDIR)/savedicd.fth SDAD'>load-dict-tmp.fth&& ./$(PFDICAPP) -d $(PFORTHDIC) load-dict-tmp.fth; rm -f load-dict-tmp.fth
+
+$(PFORTHAPP): $(PFDICDAT) $(PFEMBOBJS)
+       $(XLINK) -o $@ $(PFEMBOBJS) $(XLDADD)
+       @echo ""
+       @echo "Standalone pForth executable written to $(PFORTHAPP)"
+
+
+# target aliases
+pfdicapp: $(PFDICAPP)
+
+pfdicdat: $(PFDICDAT)
+
+pforthapp: $(PFORTHAPP)
+
+help:
+       @echo "Use 'make all' to build standalone pForth executable."
+       @echo "PForth can be built in several stages using these targets:"
+       @echo "   pfdicapp = executable pForth with minimal dictionary. All from 'C'."
+       @echo "   pfdicdat = image of full dictionary build by compiling Forth code."
+       @echo "   pforthapp = executable with embedded dictionary image. DEFAULT 'all' target."
+       @echo ""
+       @echo "   The file 'fth/pfdicdat.h' is generated by pForth. It contains a binary image of the Forth dictionary."
+       @echo "   It allows pForth to work as a standalone image that does not need to load a dictionary file."
+
+test: $(PFORTHAPP)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_corex.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_strings.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_locals.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_alloc.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_floats.fth)
+
+clean:
+       rm -f $(PFOBJS) $(PFEMBOBJS)
+       rm -f $(PFORTHAPP)
+       rm -f $(PFDICDAT) $(FTHDIR)/$(PFDICDAT)
+       rm -f $(PFORTHDIC) $(FTHDIR)/$(PFORTHDIC)
+       rm -f $(PFDICAPP)
diff --git a/platforms/mingw-crossbuild-linux/Makefile b/platforms/mingw-crossbuild-linux/Makefile
new file mode 100644 (file)
index 0000000..a6d3161
--- /dev/null
@@ -0,0 +1,150 @@
+# makefile for pForth
+# Portable Forth written in 'C'
+# by Phil Burk
+# For more info visit http://www.softsynth.com/pforth/
+#
+# See "help" target below.
+
+.POSIX:
+
+# Options include: PF_SUPPORT_FP PF_NO_MALLOC PF_NO_INIT PF_DEBUG
+# See "docs/pf_ref.htm" file for more info.
+
+CC           = x86_64-w64-mingw32-gcc
+WINE         = wineconsole
+SRCDIR       = ../..
+PFORTHDIR    = $(SRCDIR)
+CSRCDIR      = $(PFORTHDIR)/csrc
+FTHDIR       = $(PFORTHDIR)/fth
+
+PFDICAPP     = pforth.exe
+PFORTHDIC    = pforth.dic
+PFDICDAT     = pfdicdat.h
+PFORTHAPP    = pforth_standalone.exe
+
+# This is needed to get pForth to build on Snow Leopard and other 64 bit platforms.
+WIDTHOPT=
+
+FULL_WARNINGS =  \
+        --std=c89 \
+        -fsigned-char \
+        -fno-builtin \
+        -fno-unroll-loops \
+        -fpeephole \
+        -fno-keep-inline-functions \
+        -pedantic \
+        -Wcast-qual \
+        -Wall \
+        -Wwrite-strings \
+        -Winline  \
+        -Wmissing-prototypes \
+        -Wmissing-declarations
+
+DEBUGOPTS = -g
+CCOPTS = $(WIDTHOPT) -x c -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS) $(DEBUGOPTS)
+
+#IO_SOURCE = pf_io_posix.c
+#IO_SOURCE = pf_io_stdio.c
+IO_SOURCE = pf_io_win32_console.c pf_fileio_stdio.c
+
+EMBCCOPTS = -DPF_STATIC_DIC
+
+#######################################
+PFINCLUDES = pf_all.h pf_cglue.h pf_clib.h pf_core.h pf_float.h \
+       pf_guts.h pf_host.h pf_inc1.h pf_io.h pf_mem.h pf_save.h \
+       pf_text.h pf_types.h pf_win32.h pf_words.h pfcompfp.h \
+       pfcompil.h pfdicdat_arm.h pfinnrfp.h pforth.h
+PFBASESOURCE = pf_cglue.c pf_clib.c pf_core.c pf_inner.c \
+       pf_io.c pf_io_none.c pf_main.c pf_mem.c pf_save.c \
+       pf_text.c pf_words.c pfcompil.c pfcustom.c
+PFSOURCE = $(PFBASESOURCE) $(IO_SOURCE)
+
+VPATH = .:$(CSRCDIR):$(CSRCDIR)/posix:$(CSRCDIR)/stdio:$(CSRCDIR)/win32_console:$(CSRCDIR)/win32
+
+XCFLAGS = $(CCOPTS)
+#XCPPFLAGS = -DPF_SUPPORT_FP -DWIN32
+XCPPFLAGS = -DWIN32
+XLDFLAGS = $(WIDTHOPT)
+
+CPPFLAGS = -I. $(XCPPFLAGS)
+CFLAGS = $(XCFLAGS)
+LDFLAGS = $(XLDFLAGS)
+
+COMPILE = $(CC) $(CFLAGS) $(CPPFLAGS)
+LINK = $(CC) $(LDFLAGS)
+
+.SUFFIXES: .c .o .eo
+
+PFOBJS     = $(PFSOURCE:.c=.o)
+PFEMBOBJS  = $(PFSOURCE:.c=.eo)
+
+.c.o: $(PFINCLUDES)
+       $(COMPILE) -c -o $@ $<
+
+.c.eo: $(PFINCLUDES) pfdicdat.h
+       $(COMPILE) $(EMBCCOPTS) -c -o $@ $<
+
+.PHONY: all clean test
+.PHONY: help pffiles pfdicapp pfdicdat pforthapp
+
+all: $(PFORTHAPP)
+
+pffiles:
+       @echo "INCLUDE FILES -----------------"
+       @echo ${PFINCLUDES}
+       @echo "'C' FILES ---------------------"
+       @echo ${PFSOURCE}
+       @echo "OBJECT FILES ------------------"
+       @echo ${PFOBJS}
+       @echo "EMBEDDED OBJECT FILES ------------------"
+       @echo ${PFEMBOBJS}
+
+# Build pforth by compiling 'C' source.
+$(PFDICAPP): $(PFINCLUDES) $(PFOBJS)
+       $(LINK) -o $@ $(PFOBJS) $(LDADD) -lm
+
+# Build basic dictionary image by running newly built pforth and including "system.fth".
+$(PFORTHDIC): $(PFDICAPP)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFDICAPP) -i system.fth)
+       (cd $(FTHDIR); cat pforth.dic; rm -f pforth.dic) > $@
+
+$(PFDICDAT): $(PFORTHDIC) $(PFDICAPP)
+       echo 'include $(FTHDIR)/savedicd.fth SDAD BYE'>load-dict-tmp.fth&& $(WINE) ./$(PFDICAPP) -d $(PFORTHDIC) load-dict-tmp.fth; rm -f load-dict-tmp.fth
+
+$(PFORTHAPP): $(PFDICDAT) $(PFEMBOBJS)
+       $(LINK) -o $@ $(PFEMBOBJS) $(LDADD) -lm
+       @echo ""
+       @echo "Standalone pForth executable written to $(PFORTHAPP)"
+
+
+# target aliases
+pfdicapp: $(PFDICAPP)
+
+pfdicdat: $(PFDICDAT)
+
+pforthapp: $(PFORTHAPP)
+
+help:
+       @echo "Use 'make all' to build standalone pForth executable."
+       @echo "PForth can be built in several stages using these targets:"
+       @echo "   pfdicapp = executable pForth with minimal dictionary. All from 'C'."
+       @echo "   pfdicdat = image of full dictionary build by compiling Forth code."
+       @echo "   pforthapp = executable with embedded dictionary image. DEFAULT 'all' target."
+       @echo ""
+       @echo "   The file 'fth/pfdicdat.h' is generated by pForth. It contains a binary image of the Forth dictionary."
+       @echo "   It allows pForth to work as a standalone image that does not need to load a dictionary file."
+
+test: $(PFORTHAPP)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_corex.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_strings.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_locals.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_alloc.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_floats.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $(WINE) $${wd}/$(PFORTHAPP) -q t_file.fth)
+
+clean:
+       rm -f $(PFOBJS) $(PFEMBOBJS)
+       rm -f $(PFORTHAPP)
+       rm -f $(PFDICDAT) $(FTHDIR)/$(PFDICDAT)
+       rm -f $(PFORTHDIC) $(FTHDIR)/$(PFORTHDIC)
+       rm -f $(PFDICAPP)
diff --git a/platforms/unix/Makefile b/platforms/unix/Makefile
new file mode 100644 (file)
index 0000000..626d0ce
--- /dev/null
@@ -0,0 +1,145 @@
+# makefile for pForth
+# Portable Forth written in 'C'
+# by Phil Burk
+# For more info visit http://www.softsynth.com/pforth/
+#
+# See "help" target below.
+
+.POSIX:
+
+# Options include: PF_SUPPORT_FP PF_NO_MALLOC PF_NO_INIT PF_DEBUG
+# See "docs/pf_ref.htm" file for more info.
+
+SRCDIR       = ../..
+PFORTHDIR    = $(SRCDIR)
+CSRCDIR      = $(PFORTHDIR)/csrc
+FTHDIR       = $(PFORTHDIR)/fth
+
+PFDICAPP     = pforth
+PFORTHDIC    = pforth.dic
+PFDICDAT     = pfdicdat.h
+PFORTHAPP    = pforth_standalone
+
+# This is needed to get pForth to build on Snow Leopard and other 64 bit platforms.
+WIDTHOPT=
+
+FULL_WARNINGS =  \
+        --std=c89 \
+        -fsigned-char \
+        -fno-builtin \
+        -fno-unroll-loops \
+        -fno-keep-inline-functions \
+        -pedantic \
+        -Wcast-qual \
+        -Wall \
+        -Wwrite-strings \
+        -Winline  \
+        -Wmissing-prototypes \
+        -Wmissing-declarations
+
+DEBUGOPTS = -g
+CCOPTS = $(WIDTHOPT) -x c -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS) $(DEBUGOPTS)
+
+IO_SOURCE = pf_io_posix.c pf_fileio_stdio.c
+#IO_SOURCE = pf_io_stdio.c
+
+EMBCCOPTS = -DPF_STATIC_DIC #-DPF_NO_FILEIO
+
+#######################################
+PFINCLUDES = pf_all.h pf_cglue.h pf_clib.h pf_core.h pf_float.h \
+       pf_guts.h pf_host.h pf_inc1.h pf_io.h pf_mem.h pf_save.h \
+       pf_text.h pf_types.h pf_win32.h pf_words.h pfcompfp.h \
+       pfcompil.h pfdicdat_arm.h pfinnrfp.h pforth.h
+PFBASESOURCE = pf_cglue.c pf_clib.c pf_core.c pf_inner.c \
+       pf_io.c pf_io_none.c pf_main.c pf_mem.c pf_save.c \
+       pf_text.c pf_words.c pfcompil.c pfcustom.c
+PFSOURCE = $(PFBASESOURCE) $(IO_SOURCE)
+
+VPATH = .:$(CSRCDIR):$(CSRCDIR)/posix:$(CSRCDIR)/stdio:$(CSRCDIR)/win32_console:$(CSRCDIR)/win32
+
+XCFLAGS = $(CCOPTS)
+XCPPFLAGS = -DPF_SUPPORT_FP -D_DEFAULT_SOURCE -D_GNU_SOURCE
+XLDFLAGS = $(WIDTHOPT)
+
+CPPFLAGS = -I. $(XCPPFLAGS)
+CFLAGS = $(XCFLAGS)
+LDFLAGS = $(XLDFLAGS)
+
+COMPILE = $(CC) $(CFLAGS) $(CPPFLAGS)
+LINK = $(CC) $(LDFLAGS)
+
+.SUFFIXES: .c .o .eo
+
+PFOBJS     = $(PFSOURCE:.c=.o)
+PFEMBOBJS  = $(PFSOURCE:.c=.eo)
+
+%.o: %.c $(PFINCLUDES)
+       $(COMPILE) -c -o $@ $<
+
+%.eo: %.c $(PFINCLUDES) pfdicdat.h
+       $(COMPILE) $(EMBCCOPTS) -c -o $@ $<
+
+.PHONY: all clean test
+.PHONY: help pffiles pfdicapp pfdicdat pforthapp
+
+all: $(PFORTHAPP)
+
+pffiles:
+       @echo "INCLUDE FILES -----------------"
+       @echo ${PFINCLUDES}
+       @echo "'C' FILES ---------------------"
+       @echo ${PFSOURCE}
+       @echo "OBJECT FILES ------------------"
+       @echo ${PFOBJS}
+       @echo "EMBEDDED OBJECT FILES ------------------"
+       @echo ${PFEMBOBJS}
+
+# Build pforth by compiling 'C' source.
+$(PFDICAPP): $(PFINCLUDES) $(PFOBJS)
+       $(LINK) -o $@ $(PFOBJS) $(LDADD) -lm
+
+# Build basic dictionary image by running newly built pforth and including "system.fth".
+$(PFORTHDIC): $(PFDICAPP)
+       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFDICAPP) -i system.fth)
+       (cd $(FTHDIR); cat pforth.dic; rm -f pforth.dic) > $@
+
+$(PFDICDAT): $(PFORTHDIC) $(PFDICAPP)
+       echo 'include $(FTHDIR)/savedicd.fth SDAD BYE' | ./$(PFDICAPP) -d $(PFORTHDIC)
+
+$(PFORTHAPP): $(PFDICDAT) $(PFEMBOBJS)
+       $(LINK) -o $@ $(PFEMBOBJS) $(LDADD) -lm
+       @echo ""
+       @echo "Standalone pForth executable written to $(PFORTHAPP)"
+
+
+# target aliases
+pfdicapp: $(PFDICAPP)
+
+pfdicdat: $(PFDICDAT)
+
+pforthapp: $(PFORTHAPP)
+
+help:
+       @echo "Use 'make all' to build standalone pForth executable."
+       @echo "PForth can be built in several stages using these targets:"
+       @echo "   pfdicapp = executable pForth with minimal dictionary. All from 'C'."
+       @echo "   pfdicdat = image of full dictionary build by compiling Forth code."
+       @echo "   pforthapp = executable with embedded dictionary image. DEFAULT 'all' target."
+       @echo ""
+       @echo "   The file 'fth/pfdicdat.h' is generated by pForth. It contains a binary image of the Forth dictionary."
+       @echo "   It allows pForth to work as a standalone image that does not need to load a dictionary file."
+
+test: $(PFORTHAPP)
+       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_corex.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_strings.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_locals.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_alloc.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_floats.fth)
+       wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_file.fth)
+
+clean:
+       rm -f $(PFOBJS) $(PFEMBOBJS)
+       rm -f $(PFORTHAPP)
+       rm -f $(PFDICDAT) $(FTHDIR)/$(PFDICDAT)
+       rm -f $(PFORTHDIC) $(FTHDIR)/$(PFORTHDIC)
+       rm -f $(PFDICAPP)
diff --git a/platforms/win32/vs2017/pforth.sln b/platforms/win32/vs2017/pforth.sln
new file mode 100644 (file)
index 0000000..b35fd9c
--- /dev/null
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27130.2010
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pforth_main", "pforth_main.vcxproj", "{58B76DB8-1985-4B8A-8E71-C012D8F0C518}"
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               Debug|Win32 = Debug|Win32
+               Debug|x64 = Debug|x64
+               Release|Win32 = Release|Win32
+               Release|x64 = Release|x64
+       EndGlobalSection
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|Win32.ActiveCfg = Debug|Win32
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|Win32.Build.0 = Debug|Win32
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|x64.ActiveCfg = Debug|x64
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|x64.Build.0 = Debug|x64
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.ActiveCfg = Release|Win32
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.Build.0 = Release|Win32
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|x64.ActiveCfg = Release|x64
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|x64.Build.0 = Release|x64
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+       GlobalSection(ExtensibilityGlobals) = postSolution
+               SolutionGuid = {4FCA3FD0-0EBB-4534-9A49-51A638D09B2F}
+       EndGlobalSection
+EndGlobal
diff --git a/platforms/win32/vs2017/pforth_main.vcxproj b/platforms/win32/vs2017/pforth_main.vcxproj
new file mode 100644 (file)
index 0000000..0b6ab8b
--- /dev/null
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{58B76DB8-1985-4B8A-8E71-C012D8F0C518}</ProjectGuid>
+    <RootNamespace>pforth_main</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+    <TargetName>pforth</TargetName>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v141</PlatformToolset>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v141</PlatformToolset>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v141</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v141</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>15.0.27130.2010</_ProjectFileVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>$(SolutionDir)..\..\..\fth\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>$(SolutionDir)..\..\..\fth\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader />
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader />
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\csrc\pfcompil.c" />
+    <ClCompile Include="..\..\..\csrc\pfcustom.c" />
+    <ClCompile Include="..\..\..\csrc\pf_cglue.c" />
+    <ClCompile Include="..\..\..\csrc\pf_clib.c" />
+    <ClCompile Include="..\..\..\csrc\pf_core.c" />
+    <ClCompile Include="..\..\..\csrc\pf_inner.c" />
+    <ClCompile Include="..\..\..\csrc\pf_io.c" />
+    <ClCompile Include="..\..\..\csrc\pf_io_none.c" />
+    <ClCompile Include="..\..\..\csrc\pf_main.c" />
+    <ClCompile Include="..\..\..\csrc\pf_mem.c" />
+    <ClCompile Include="..\..\..\csrc\pf_save.c" />
+    <ClCompile Include="..\..\..\csrc\pf_text.c" />
+    <ClCompile Include="..\..\..\csrc\pf_words.c" />
+    <ClCompile Include="..\..\..\csrc\stdio\pf_fileio_stdio.c" />
+    <ClCompile Include="..\..\..\csrc\win32_console\pf_io_win32_console.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\csrc\pfcompfp.h" />
+    <ClInclude Include="..\..\..\csrc\pfcompil.h" />
+    <ClInclude Include="..\..\..\csrc\pfdicdat.h" />
+    <ClInclude Include="..\..\..\csrc\pfdicdat_arm.h" />
+    <ClInclude Include="..\..\..\csrc\pfinnrfp.h" />
+    <ClInclude Include="..\..\..\csrc\pforth.h" />
+    <ClInclude Include="..\..\..\csrc\pf_all.h" />
+    <ClInclude Include="..\..\..\csrc\pf_cglue.h" />
+    <ClInclude Include="..\..\..\csrc\pf_clib.h" />
+    <ClInclude Include="..\..\..\csrc\pf_core.h" />
+    <ClInclude Include="..\..\..\csrc\pf_float.h" />
+    <ClInclude Include="..\..\..\csrc\pf_guts.h" />
+    <ClInclude Include="..\..\..\csrc\pf_host.h" />
+    <ClInclude Include="..\..\..\csrc\pf_inc1.h" />
+    <ClInclude Include="..\..\..\csrc\pf_io.h" />
+    <ClInclude Include="..\..\..\csrc\pf_mem.h" />
+    <ClInclude Include="..\..\..\csrc\pf_save.h" />
+    <ClInclude Include="..\..\..\csrc\pf_text.h" />
+    <ClInclude Include="..\..\..\csrc\pf_types.h" />
+    <ClInclude Include="..\..\..\csrc\pf_win32.h" />
+    <ClInclude Include="..\..\..\csrc\pf_words.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/platforms/win32/vs2017/pforth_main.vcxproj.filters b/platforms/win32/vs2017/pforth_main.vcxproj.filters
new file mode 100644 (file)
index 0000000..2f6b984
--- /dev/null
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="..\..\..\csrc\pf_cglue.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pf_clib.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pf_core.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\stdio\pf_fileio_stdio.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pf_inner.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pf_io.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pf_io_none.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\win32_console\pf_io_win32_console.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pf_mem.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pf_main.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pf_save.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pf_text.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pf_words.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pfcompil.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\csrc\pfcustom.c">
+      <Filter>Source</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\csrc\pf_all.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_cglue.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_clib.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_core.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_float.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_guts.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_host.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_inc1.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_io.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_mem.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_save.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_text.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_types.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_win32.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pf_words.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pfcompfp.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pfcompil.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pfdicdat_arm.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pfdicdat.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pfinnrfp.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\csrc\pforth.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <Filter Include="Include">
+      <UniqueIdentifier>{6711f4b0-6d8c-4641-8260-e6d2c953bd3b}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source">
+      <UniqueIdentifier>{298706eb-f166-4f0b-8404-a52c3fdf5d21}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+</Project>
\ No newline at end of file
index e77c40bd85f7e22dd5894eb4dbd89cf99199872b..c515ff3ede4a42946c052c765d36f83dce462e8d 100644 (file)
@@ -8,13 +8,13 @@ Last updated: April 24, 2018 V28
 
 Code for pForth is maintained on GitHub at:
   https://github.com/philburk/pforth
+
 Documentation for pForth at:
   http://www.softsynth.com/pforth/
 
 For technical support please use the pForth forum at:
   http://groups.google.com/group/pforthdev
-  
+
 -- LEGAL NOTICE -----------------------------------------
 
 Permission to use, copy, modify, and/or distribute this
@@ -31,16 +31,16 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 -- Contents of SDK --------------------------------------
 
-    build - tools for building pForth on various platforms
-    build/unix - Makefile for unix
-    
+    platforms - tools for building pForth on various platforms
+    platforms/unix - Makefile for unix
+
     csrc - pForth kernel in ANSI 'C'
     csrc/pf_main.c - main() application for a standalone Forth
     csrc/stdio - I/O code using basic stdio for generic platforms
     csrc/posix - I/O code for Posix platform
     csrc/win32 - I/O code for basic WIN32 platform
     csrc/win32_console - I/O code for WIN32 console that supports command line history
-    
+
     fth - Forth code
     fth/util - utility functions
 
@@ -49,7 +49,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 See pForth reference manual at:
 
   http://www.softsynth.com/pforth/pf_ref.php
-  
+
 -- How to run pForth ------------------------------------
 
 Once you have compiled and built the dictionary, just enter:
@@ -90,5 +90,5 @@ To run the other tests, enter:
     pforth t_strings.fth
     pforth t_locals.fth
     pforth t_alloc.fth
-    
+
 They will report the number of tests that pass or fail.