1 # @(#) rlsMakefile 97/12/10 1.1
3 # Portable Forth written in 'C'
8 # Options include: PF_SUPPORT_FP PF_NO_MALLOC PF_NO_INIT PF_DEBUG
9 # See "docs/pf_ref.htm" file for more info.
13 EMBOBJECTDIR = embobjects
20 -fno-keep-inline-functions \
25 -Wmissing-prototypes \
26 -Wmissing-declarations
28 CCOPTS = -DPF_SUPPORT_FP $(FULL_WARNINGS)
31 EMBCCOPTS = -DPF_NO_INIT -DPF_NO_MALLOC -DPF_NO_FILEIO \
32 -DPF_NO_CLIB -DPF_STATIC_DIC
34 #######################################
35 # Build file lists from wildcards.
36 PFITEMP = ${wildcard ${SOURCEDIR}/*.h}
37 PFINCLUDES = ${PFITEMP:${SOURCEDIR}/pfdicdat.h=}
38 PFSOURCE = ${wildcard ${SOURCEDIR}/*.c}
39 PFTEMP = ${PFSOURCE:%.c=%.o}
40 PFOBJS = ${PFTEMP:${SOURCEDIR}/%=${OBJECTDIR}/%}
41 PFEMBOBJS = ${PFTEMP:${SOURCEDIR}/%=${EMBOBJECTDIR}/%}
43 COMPILE = $(COMPILER) $(CCOPTS) $(CDEFS)
45 ${OBJECTDIR}/%.o: $(PFINCLUDES) ${SOURCEDIR}/%.c
46 $(COMPILE) -O -o ${OBJECTDIR}/$*.o -c ${SOURCEDIR}/$*.c
48 ${EMBOBJECTDIR}/%.o: $(PFINCLUDES) ${SOURCEDIR}/%.c ${SOURCEDIR}/pfdicdat.h
49 $(COMPILE) -O -o ${EMBOBJECTDIR}/$*.o -c ${SOURCEDIR}/$*.c $(EMBCCOPTS)
51 all: pforth pforth.dic
54 echo "ITEMP FILES -----------------"
56 echo "INCLUDE FILES -----------------"
58 echo "'C' FILES ---------------------"
60 echo "OBJECT FILES ------------------"
62 echo "EMBEDDED OBJECT FILES ------------------"
65 # build pforth by compiling 'C' source
66 pforth: $(PFINCLUDES) $(PFOBJS)
67 $(COMPILER) $(PFOBJS) -lm -o pforth
69 # build basic dictionary by running newly built pforth and including system.fth
71 ./pforth -i system.fth
73 ${SOURCEDIR}/pfdicdat.h: pforth pforth.dic
74 @(echo 'INCLUDE utils/savedicd.fth'; \
78 cp pfdicdat.h ${SOURCEDIR}
81 pfemb: $(PFINCLUDES) $(PFEMBOBJS)
82 $(COMPILER) $(PFEMBOBJS) -lm -o pfemb
85 rm -f $(PFOBJS) $(PFEMBOBJS) pforth *.dic core ${SOURCEDIR}/pfdicdat.h pfemb