# Options include: PF_SUPPORT_FP PF_NO_MALLOC PF_NO_INIT PF_DEBUG
# See "docs/pf_ref.htm" file for more info.
-# Note for Mac OS X, use cc instead of gcc
COMPILER = gcc
PFORTHDIR := $(shell cd ../../; pwd)
-Wmissing-prototypes \
-Wmissing-declarations
-CCOPTS = -DPF_SUPPORT_FP -DPF_POSIX_IO -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS)
+CCOPTS = -DPF_SUPPORT_FP -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS)
+
+IO_SOURCE = ${CSRCDIR}/posix/pf_io_posix.c
+#IO_SOURCE = ${CSRCDIR}/stdio/pf_io_stdio.c
EMBCCOPTS = -DPF_STATIC_DIC
# Build file lists from wildcards.
PFITEMP = ${wildcard ${CSRCDIR}/*.h}
PFINCLUDES = ${PFITEMP:${CSRCDIR}/pfdicdat.h=}
-PFSOURCE = ${wildcard ${CSRCDIR}/*.c} ${CSRCDIR}/posix/pf_io_posix.c
+PFSOURCE = ${wildcard ${CSRCDIR}/*.c} ${IO_SOURCE}
PFTEMP = ${PFSOURCE:%.c=%.o}
PFOBJS = ${PFTEMP:${CSRCDIR}/%=${TEMPOBJECTDIR}/%}
PFEMBOBJS = ${PFTEMP:${CSRCDIR}/%=${OBJECTDIR}/%}
COMPILE = $(COMPILER) $(CCOPTS) $(CDEFS)
-${TEMPOBJECTDIR}/%.o: ${TEMPOBJECTDIR}/posix $(PFINCLUDES) ${CSRCDIR}/%.c
+${TEMPOBJECTDIR}/%.o: ${TEMPOBJECTDIR} $(PFINCLUDES) ${CSRCDIR}/%.c
$(COMPILE) -O -o ${TEMPOBJECTDIR}/$*.o -c ${CSRCDIR}/$*.c
-${OBJECTDIR}/%.o: ${OBJECTDIR}/posix $(PFINCLUDES) ${CSRCDIR}/%.c ${CSRCDIR}/pfdicdat.h
+${OBJECTDIR}/%.o: ${OBJECTDIR} $(PFINCLUDES) ${CSRCDIR}/%.c ${CSRCDIR}/pfdicdat.h
$(COMPILE) -O -o ${OBJECTDIR}/$*.o -c ${CSRCDIR}/$*.c $(EMBCCOPTS)
all: $(PFORTHAPP)
@echo "EMBEDDED OBJECT FILES ------------------"
@echo ${PFEMBOBJS}
-${TEMPOBJECTDIR}/posix:
+${TEMPOBJECTDIR}:
mkdir -p ${TEMPOBJECTDIR}/posix
+ mkdir -p ${TEMPOBJECTDIR}/stdio
-${OBJECTDIR}/posix:
+${OBJECTDIR}:
mkdir -p ${OBJECTDIR}/posix
+ mkdir -p ${OBJECTDIR}/stdio
# build pforth by compiling 'C' source
$(PFDICAPP): $(PFINCLUDES) $(PFOBJS)
$(PFDICDAT): $(PFDICAPP)
cd $(FTHDIR); $(PFDICAPP) -i system.fth ; mv pfdicdat.h $(PFDICDAT)
-$(PFORTHAPP): ${TEMPOBJECTDIR}/posix $(PFDICDAT) $(PFINCLUDES) $(PFEMBOBJS)
+$(PFORTHAPP): ${TEMPOBJECTDIR} $(PFDICDAT) $(PFINCLUDES) $(PFEMBOBJS)
$(COMPILER) $(PFEMBOBJS) -lm -o $(PFORTHAPP)
@echo ""
@echo "Standalone pForth executable written to $(PFORTHAPP)"