123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- # $Id$
- #PARAMS do not remove this line!
- SRC_DIR = $(SRC_HOME)/util/flex
- # make file for "flex" tool
- # Porting considerations:
- #
- # For System V Unix machines, add -DUSG to CFLAGS (if it's not
- # automatically defined)
- # For Vax/VMS, add "-DVMS -DUSG" to CFLAGS.
- # For MS-DOS, add "-DMS_DOS -DUSG" to CFLAGS. Create \tmp if not present.
- # You will also want to rename flex.skel to something with a three
- # character extension, change SKELETON_FILE below appropriately,
- # See MSDOS.notes for more info.
- # For Amiga, add "-DAMIGA -DUSG" to CFLAGS.
- # For SCO Unix, add "-DSCO_UNIX" to CFLAGS.
- #
- # For C compilers which don't know about "void", add -Dvoid=int to CFLAGS.
- #
- # If your C compiler is ANSI standard but does not include the <stdlib.h>
- # header file (some installations of gcc have this problem), then add
- # -DDONT_HAVE_STDLIB_H to CFLAGS.
- #
- # By default, flex will be configured to generate 8-bit scanners only
- # if the -8 flag is given. If you want it to always generate 8-bit
- # scanners, add "-DDEFAULT_CSIZE=256" to CFLAGS. Note that doing
- # so will double the size of all uncompressed scanners.
- #
- # If on your system you have trouble building flex due to 8-bit
- # character problems, remove the -8 from FLEX_FLAGS and the
- # "#define FLEX_8_BIT_CHARS" from the beginning of flexdef.h.
- # the first time around use "make first_flex"
- # Installation targeting. Files will be installed under the tree rooted
- # at DESTDIR. User commands will be installed in BINDIR, library files
- # in LIBDIR (which will be created if necessary), auxiliary files in
- # AUXDIR;
- DESTDIR =
- BINDIR = $(TARGET_HOME)/bin
- AUXDIR = $(TARGET_HOME)/lib/flex
- # MAKE = make
- SKELETON_FILE = \"$(AUXDIR)/flex.skel\"
- SKELFLAGS = -DDEFAULT_SKELETON_FILE=$(SKELETON_FILE)
- INCLUDES = -I$(SRC_DIR) -I.
- CFLAGS = $(COPTIONS) -DACK_MOD $(INCLUDES)
- LDFLAGS = $(LDOPTIONS)
- COMPRESSION =
- FLEX_FLAGS = -ist8 -Sflex.skel
- # which "flex" to use to generate scan.c from scan.l
- FLEX = flex
- FLEXOBJS = \
- ccl.$(SUF) \
- dfa.$(SUF) \
- ecs.$(SUF) \
- gen.$(SUF) \
- main.$(SUF) \
- misc.$(SUF) \
- nfa.$(SUF) \
- parse.$(SUF) \
- scan.$(SUF) \
- sym.$(SUF) \
- tblcmp.$(SUF) \
- yylex.$(SUF)
- FLEX_C_SOURCES = \
- $(SRC_DIR)/ccl.c \
- $(SRC_DIR)/dfa.c \
- $(SRC_DIR)/ecs.c \
- $(SRC_DIR)/gen.c \
- $(SRC_DIR)/main.c \
- $(SRC_DIR)/misc.c \
- $(SRC_DIR)/nfa.c \
- $(SRC_DIR)/parse.c \
- $(SRC_DIR)/scan.c \
- $(SRC_DIR)/sym.c \
- $(SRC_DIR)/tblcmp.c \
- $(SRC_DIR)/yylex.c
- all : flex
- flex : $(FLEXOBJS)
- $(CC) -o flex $(LDFLAGS) $(FLEXOBJS)
- first_flex:
- cp $(SRC_DIR)/initscan.c scan.c
- chmod +w scan.c
- make $(MFLAGS) flex
- parse.h parse.c : $(SRC_DIR)/parse.y
- yacc -d $(SRC_DIR)/parse.y
- @mv y.tab.c parse.c
- @mv y.tab.h parse.h
- scan.c : $(SRC_DIR)/scan.l
- $(FLEX) $(FLEX_FLAGS) $(COMPRESSION) $(SRC_DIR)/scan.l >scan.c
- scan.$(SUF) : scan.c parse.h $(SRC_DIR)/flexdef.h
- $(CC) $(CFLAGS) -c scan.c
- main.$(SUF) : $(SRC_DIR)/main.c $(SRC_DIR)/flexdef.h
- -mkdir $(AUXDIR)
- $(CC) $(CFLAGS) -c $(SKELFLAGS) $(SRC_DIR)/main.c
- ccl.$(SUF) : $(SRC_DIR)/ccl.c $(SRC_DIR)/flexdef.h
- $(CC) $(CFLAGS) -c $(SRC_DIR)/ccl.c
- dfa.$(SUF) : $(SRC_DIR)/dfa.c $(SRC_DIR)/flexdef.h
- $(CC) $(CFLAGS) -c $(SRC_DIR)/dfa.c
- ecs.$(SUF) : $(SRC_DIR)/ecs.c $(SRC_DIR)/flexdef.h
- $(CC) $(CFLAGS) -c $(SRC_DIR)/ecs.c
- gen.$(SUF) : $(SRC_DIR)/gen.c $(SRC_DIR)/flexdef.h
- $(CC) $(CFLAGS) -c $(SRC_DIR)/gen.c
- misc.$(SUF) : $(SRC_DIR)/misc.c $(SRC_DIR)/flexdef.h
- $(CC) $(CFLAGS) -c $(SRC_DIR)/misc.c
- nfa.$(SUF) : $(SRC_DIR)/nfa.c $(SRC_DIR)/flexdef.h
- $(CC) $(CFLAGS) -c $(SRC_DIR)/nfa.c
- parse.$(SUF) : parse.c $(SRC_DIR)/flexdef.h
- $(CC) $(CFLAGS) -c parse.c
- sym.$(SUF) : $(SRC_DIR)/sym.c $(SRC_DIR)/flexdef.h
- $(CC) $(CFLAGS) -c $(SRC_DIR)/sym.c
- tblcmp.$(SUF) : $(SRC_DIR)/tblcmp.c $(SRC_DIR)/flexdef.h
- $(CC) $(CFLAGS) -c $(SRC_DIR)/tblcmp.c
- yylex.$(SUF) : $(SRC_DIR)/yylex.c $(SRC_DIR)/flexdef.h
- $(CC) $(CFLAGS) -c $(SRC_DIR)/yylex.c
- LINTFLAGS = $(LINTOPTIONS) $(INCLUDES)
- lint : $(FLEX_C_SOURCES)
- $(LINT) $(LINTFLAGS) $(FLEX_C_SOURCES)
- firstinstall: first_flex $(SRC_DIR)/flex.skel
- rm -f $(BINDIR)/flex
- cp flex $(BINDIR)/flex
- if [ $(DO_MACHINE_INDEP) = y ] ; \
- then cp $(SRC_DIR)/flex.skel $(AUXDIR)/flex.skel ; \
- mk_manpage $(SRC_DIR)/flex.1 $(TARGET_HOME) ; \
- mk_manpage $(SRC_DIR)/flexdoc.1 $(TARGET_HOME) ; \
- fi
- install: flex $(SRC_DIR)/flex.skel
- rm -f $(BINDIR)/flex
- cp flex $(BINDIR)/flex
- if [ $(DO_MACHINE_INDEP) = y ] ; \
- then cp $(SRC_DIR)/flex.skel $(AUXDIR)/flex.skel ; \
- mk_manpage $(SRC_DIR)/flex.1 $(TARGET_HOME) ; \
- mk_manpage $(SRC_DIR)/flexdoc.1 $(TARGET_HOME) ; \
- fi
- cmp: flex $(SRC_DIR)/flex.skel
- -cmp flex $(BINDIR)/flex
- -cmp $(SRC_DIR)/flex.skel $(AUXDIR)/flex.skel
- clean :
- rm -f core errs flex *.$(SUF) parse.c *.lint parse.h tags scan.c
- tags :
- ctags $(FLEX_C_SOURCES)
- test : flex
- ./flex $(FLEX_FLAGS) $(COMPRESSION) scan.l | diff scan.c -
- bigtest :
- rm -f scan.c ; $(MAKE) COMPRESSION="-C" test
- rm -f scan.c ; $(MAKE) COMPRESSION="-Ce" test
- rm -f scan.c ; $(MAKE) COMPRESSION="-Cm" test
- rm -f scan.c ; $(MAKE) COMPRESSION="-Cfe" test
- rm -f scan.c ; $(MAKE) COMPRESSION="-CFe" test
- rm -f scan.c ; $(MAKE) COMPRESSION="-Cf" test
- rm -f scan.c ; $(MAKE) COMPRESSION="-CF" test
- rm -f scan.c ; $(MAKE)
|