X-Git-Url: http://git.subgeniuskitty.com/pforth/.git/blobdiff_plain/3760715f6e313ff90da32399fa1903c54f69d59b..457cb99f57292bc855e53abcdcb7b12d6681e847:/build/unix/Makefile diff --git a/build/unix/Makefile b/build/unix/Makefile index bb53402..626d0ce 100644 --- a/build/unix/Makefile +++ b/build/unix/Makefile @@ -24,11 +24,10 @@ PFORTHAPP = pforth_standalone WIDTHOPT= FULL_WARNINGS = \ - -c89 \ + --std=c89 \ -fsigned-char \ -fno-builtin \ -fno-unroll-loops \ - -fpeephole \ -fno-keep-inline-functions \ -pedantic \ -Wcast-qual \ @@ -39,12 +38,12 @@ 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_posix.c pf_fileio_stdio.c #IO_SOURCE = pf_io_stdio.c -EMBCCOPTS = -DPF_STATIC_DIC +EMBCCOPTS = -DPF_STATIC_DIC #-DPF_NO_FILEIO ####################################### PFINCLUDES = pf_all.h pf_cglue.h pf_clib.h pf_core.h pf_float.h \ @@ -56,32 +55,36 @@ 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 = .:../../csrc:../../csrc/posix:../../csrc/stdio -VPATH = .:$(SRCDIR)/csrc:$(SRCDIR)/csrc/posix:$(SRCDIR)/csrc/stdio +VPATH = .:$(CSRCDIR):$(CSRCDIR)/posix:$(CSRCDIR)/stdio:$(CSRCDIR)/win32_console:$(CSRCDIR)/win32 XCFLAGS = $(CCOPTS) -XCPPFLAGS = $(CDEFS) -I. +XCPPFLAGS = -DPF_SUPPORT_FP -D_DEFAULT_SOURCE -D_GNU_SOURCE 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 PFOBJS = $(PFSOURCE:.c=.o) PFEMBOBJS = $(PFSOURCE:.c=.eo) -.c.o: $(PFINCLUDES) +%.o: %.c $(PFINCLUDES) $(COMPILE) -c -o $@ $< -.c.eo: $(PFINCLUDES) pfdicdat.h +%.eo: %.c $(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 ---------------------" @@ -96,10 +99,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 @@ -125,11 +130,12 @@ 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) + wd=$$(pwd); (cd $(FTHDIR); $${wd}/$(PFORTHAPP) -q t_file.fth) clean: rm -f $(PFOBJS) $(PFEMBOBJS)