From: burkphil Date: Tue, 30 Nov 2010 03:14:21 +0000 (+0000) Subject: From Aleksej, X-Git-Url: http://git.subgeniuskitty.com/pforth/.git/commitdiff_plain/881487d78784519fb4e1ad20afbca22bb6532dd2 From Aleksej, 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. --- diff --git a/build/unix/Makefile b/build/unix/Makefile index 8a58140..c3e2156 100644 --- a/build/unix/Makefile +++ b/build/unix/Makefile @@ -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) diff --git a/fth/loadp4th.fth b/fth/loadp4th.fth index a558ea6..5cbfe2c 100644 --- a/fth/loadp4th.fth +++ b/fth/loadp4th.fth @@ -41,6 +41,5 @@ include? words.like wordslik.fth include? trace trace.fth include? ESC[ termio.fth include? HISTORY history.fth -include? SDAD savedicd.fth map diff --git a/fth/system.fth b/fth/system.fth index b9c46f3..a7dd0d5 100644 --- a/fth/system.fth +++ b/fth/system.fth @@ -820,6 +820,3 @@ FREEZE \ prevent forgetting below this point .( Dictionary compiled, save in "pforth.dic".) cr c" pforth.dic" save-forth - -\ Save the dictionary in "pfdicdat.h" file so pForth can be compiled for standalone mode. -SDAD