Annotation of gforth/Makefile, revision 1.9

1.1       anton       1: #Copyright 1992 by the ANSI figForth Development Group
                      2: 
                      3: RM     = echo 'Trying to remove'
                      4: GCC    = gcc
1.8       pazsan      5: FORTH  = ansforth
1.1       anton       6: CC     = gcc
1.8       pazsan      7: SWITCHES = -D_POSIX_VERSION -DUSE_TOS -DUSE_FTOS -DDEFAULTBIN='"'`pwd`'"' -DDIRECT_THREADED #-DNDEBUG #turn off assertions
1.1       anton       8: CFLAGS = -O4 -Wall -g $(SWITCHES)
                      9: 
                     10: #-Xlinker -n puts text and data into the same 256M region
                     11: #John Wavrik should use -Xlinker -N to get a writable text (executable)
1.8       pazsan     12: LDFLAGS        = -g -Xlinker -N
1.3       anton      13: LDLIBS = -lm
1.1       anton      14: 
                     15: EMACS  = emacs
                     16: 
                     17: INCLUDES = forth.h io.h
                     18: 
                     19: FORTH_SRC = cross.fs debug.fs environ.fs errore.fs extend.fs \
                     20:        filedump.fs glosgen.fs kernal.fs look.fs machine32b.fs \
                     21:        machine32l.fs main.fs other.fs search-order.fs see.fs sieve.fs \
                     22:        struct.fs tools.fs toolsext.fs vars.fs wordinfo.fs
                     23: 
                     24: SOURCES        = Makefile primitives primitives2c.el engine.c main.c io.c \
                     25:        apollo68k.h decstation.h 386.h hppa.h sparc.h \
                     26:        $(INCLUDES) $(FORTH_SRC)
                     27: 
                     28: RCS_FILES = $(SOURCES) INSTALL ToDo model high-level
                     29: 
                     30: GEN = ansforth
                     31: 
1.3       anton      32: GEN_PRECIOUS = primitives.i prim_labels.i primitives.b prim_alias.4th aliases.fs
1.1       anton      33: 
                     34: OBJECTS = engine.o io.o main.o
                     35: 
1.3       anton      36: # things that need a working forth system to be generated
                     37: # this is used for antidependences,
1.8       pazsan     38: FORTH_GEN = primitives.i prim_labels.i prim_alias.4th kernal.fi
1.3       anton      39: 
1.1       anton      40: all:   ansforth aliases.fs
                     41: 
                     42: #from the gcc Makefile: 
                     43: #"Deletion of files made during compilation.
                     44: # There are four levels of this:
                     45: #   `mostlyclean', `clean', `distclean' and `realclean'.
                     46: # `mostlyclean' is useful while working on a particular type of machine.
                     47: # It deletes most, but not all, of the files made by compilation.
                     48: # It does not delete libgcc.a or its parts, so it won't have to be recompiled.
                     49: # `clean' deletes everything made by running `make all'.
                     50: # `distclean' also deletes the files made by config.
                     51: # `realclean' also deletes everything that could be regenerated automatically."
                     52: 
                     53: clean:         
                     54:                -rm $(GEN)
                     55: 
                     56: distclean:     clean
                     57:                -rm machine.h
                     58: 
                     59: realclean:     distclean
                     60:                -rm $(GEN_PRECIOUS)
                     61: 
                     62: current:       $(RCS_FILES)
                     63: 
1.3       anton      64: ansforth:      $(OBJECTS) $(FORTH_GEN)
                     65:                -cp ansforth ansforth.old
1.1       anton      66:                $(GCC) $(LDFLAGS) $(OBJECTS) $(LDLIBS) -o $@
                     67: 
1.9     ! anton      68: kernal.fi:     main.fs search-order.fs cross.fs aliases.fs vars.fs add.fs \
        !            69:                errore.fs kernal.fs extend.fs tools.fs toolsext.fs \
1.3       anton      70:                 $(FORTH_GEN)
                     71:                -cp kernal.32limg kernal.32limg.old
1.8       pazsan     72:                $(FORTH) main.fs
1.3       anton      73: 
                     74: 
1.1       anton      75: engine.s:      engine.c primitives.i prim_labels.i machine.h $(INCLUDES)
                     76:                $(GCC) $(CFLAGS) -S engine.c
                     77: 
                     78: engine.o:      engine.c primitives.i prim_labels.i machine.h $(INCLUDES)
                     79: 
                     80: primitives.b:  primitives
                     81:                m4 primitives >$@ 
                     82: 
1.3       anton      83: primitives.i : primitives.b prims2x.fs
1.8       pazsan     84:                $(FORTH) prims2x.fs -e "s\" primitives.b\" ' output-c process-file bye" >$@
1.1       anton      85: 
1.3       anton      86: prim_labels.i :        primitives.b prims2x.fs
1.8       pazsan     87:                $(FORTH) prims2x.fs -e "s\" primitives.b\" ' output-label process-file bye" >$@
1.1       anton      88: 
1.8       pazsan     89: aliases.fs:    primitives.b prims2x.fs
                     90:                $(FORTH) prims2x.fs -e "s\" primitives.b\" ' output-alias process-file bye" >$@
1.1       anton      91: 
1.3       anton      92: #primitives.4th:       primitives.b primitives2c.el
                     93: #              $(EMACS) -batch -load primitives2c.el -funcall make-forth
1.1       anton      94: 
                     95: #GNU make default rules
                     96: % ::           RCS/%,v
                     97:                co $@
                     98: %.o :          %.c $(INCLUDES)
                     99:                $(CC) $(CFLAGS) -c $< -o $@

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>