From Aleksej,
authorburkphil <burkphil@b0a0988d-7f52-0410-8c73-4f6cdee1a2cf>
Tue, 30 Nov 2010 03:14:21 +0000 (03:14 +0000)
committerburkphil <burkphil@b0a0988d-7f52-0410-8c73-4f6cdee1a2cf>
Tue, 30 Nov 2010 03:14:21 +0000 (03:14 +0000)
Separate building of binary dictionary image
and C source (inlined) dictionary image.

Make CPPFLAGS, CFLAGS, LDFLAGS semantics more traditional.
XCPPFLAGS, XCFLAGS, XLDFLAGS contain "extension" flags now,
resetting them to empty values effects in building of bare pForth
without FPN support, optimisations and other features.

Declare phony (non-material) targets as suggested by standards.

Use parameters where names were hardcoded.

build/unix/Makefile
fth/loadp4th.fth
fth/system.fth

index 8a581404be9ba31ecd2bd841ac8c8d4439cbb06b..c3e2156a0702d54e434cfeb57554b816d8b1e7c3 100644 (file)
@@ -39,7 +39,7 @@ FULL_WARNINGS =  \
         -Wmissing-declarations
 
 DEBUGOPTS = -g
-CCOPTS = $(WIDTHOPT) -x c -DPF_SUPPORT_FP -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS) $(DEBUGOPTS)
+CCOPTS = $(WIDTHOPT) -x c -O2 $(FULL_WARNINGS) $(EXTRA_CCOPTS) $(DEBUGOPTS)
 
 IO_SOURCE = pf_io_posix.c
 #IO_SOURCE = pf_io_stdio.c
@@ -56,14 +56,18 @@ PFBASESOURCE = pf_cglue.c pf_clib.c pf_core.c pf_inner.c \
        pf_text.c pf_words.c pfcompil.c pfcustom.c
 PFSOURCE = $(PFBASESOURCE) $(IO_SOURCE)
 
-VPATH = .:$(SRCDIR)/csrc:$(SRCDIR)/csrc/posix:$(SRCDIR)/csrc/stdio:$(SRCDIR)/csrc/win32_console:$(SRCDIR)/csrc/win32
+VPATH = .:$(CSRCDIR):$(CSRCDIR)/posix:$(CSRCDIR)/stdio:$(CSRCDIR)/win32_console:$(CSRCDIR)/win32
 
 XCFLAGS = $(CCOPTS)
-XCPPFLAGS = $(CDEFS) -I.
+XCPPFLAGS = -DPF_SUPPORT_FP
 XLDFLAGS = $(WIDTHOPT)
 
-COMPILE = $(CC) $(XCFLAGS) $(CFLAGS) $(XCPPFLAGS) $(CPPFLAGS)
-LINK = $(CC) $(XLDFLAGS) $(LDFLAGS)
+CPPFLAGS = -I. $(XCPPFLAGS)
+CFLAGS = $(XCFLAGS)
+LDFLAGS = $(XLDFLAGS)
+
+COMPILE = $(CC) $(CFLAGS) $(CPPFLAGS)
+LINK = $(CC) $(LDFLAGS)
 
 .SUFFIXES: .c .o .eo
 
@@ -76,11 +80,12 @@ PFEMBOBJS  = $(PFSOURCE:.c=.eo)
 .c.eo: $(PFINCLUDES) pfdicdat.h
        $(COMPILE) $(EMBCCOPTS) -c -o $@ $<
 
+.PHONY: all clean test
+.PHONY: help pffiles pfdicapp pfdicdat pforthapp
+
 all: $(PFORTHAPP)
 
 pffiles:
-       @echo "ITEMP FILES -----------------"
-       @echo ${PFITEMP}
        @echo "INCLUDE FILES -----------------"
        @echo ${PFINCLUDES}
        @echo "'C' FILES ---------------------"
@@ -95,10 +100,12 @@ $(PFDICAPP): $(PFINCLUDES) $(PFOBJS)
        $(LINK) -o $@ $(PFOBJS) $(LDADD) -lm
 
 # Build basic dictionary image by running newly built pforth and including "system.fth".
-$(PFDICDAT): $(PFDICAPP)
+$(PFORTHDIC): $(PFDICAPP)
        wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFDICAPP) -i system.fth)
-       (cd $(FTHDIR); cat pforth.dic; rm -f pforth.dic) > pforth.dic
-       (cd $(FTHDIR); cat pfdicdat.h; rm -f pfdicdat.h) > $@
+       (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
@@ -124,11 +131,11 @@ help:
        @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}/pforth_standalone -q t_corex.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/pforth_standalone -q t_strings.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/pforth_standalone -q t_locals.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/pforth_standalone -q t_alloc.fth)
-       wd=$$(pwd); (cd $(FTHDIR); $${wd}/pforth_standalone -q t_floats.fth)
+       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)
 
 clean:
        rm -f $(PFOBJS) $(PFEMBOBJS)
index a558ea6e3b0f5a957a9213055c55b9dcb1455493..5cbfe2cef004c9853660c70cdfe5a42badcac9aa 100644 (file)
@@ -41,6 +41,5 @@ include? words.like wordslik.fth
 include? trace   trace.fth\r
 include? ESC[    termio.fth\r
 include? HISTORY history.fth\r
-include? SDAD    savedicd.fth\r
 \r
 map\r
index b9c46f3f910b9110e616863c194ecc55279a31cc..a7dd0d53033faa944063bbebe632b98d6d773a3a 100644 (file)
@@ -820,6 +820,3 @@ FREEZE    \ prevent forgetting below this point
 \r
 .( Dictionary compiled, save in "pforth.dic".) cr\r
 c" pforth.dic" save-forth\r
-\r
-\ Save the dictionary in "pfdicdat.h" file so pForth can be compiled for standalone mode.\r
-SDAD\r