Initial Makefile for R3.12
This commit is contained in:
@@ -1,194 +1,37 @@
|
||||
# make file for "flex" tool
|
||||
EPICS = ../../../..
|
||||
|
||||
# @(#) $Header$ (LBL)
|
||||
include $(EPICS)/config/CONFIG
|
||||
|
||||
# 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.
|
||||
SKELETON_FILE=.epicsUnix/share/bin/flex.skel.static
|
||||
|
||||
USR_CFLAGS = -DDEFAULT_SKELETON_FILE=\"$(SKELETON_FILE)\"
|
||||
|
||||
# the first time around use "make first_flex"
|
||||
T_ARCH = sun4
|
||||
|
||||
LDLIBS = -s
|
||||
|
||||
# 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, manual pages will be installed in MANDIR with extension MANEXT.
|
||||
# Raw, unformatted troff source will be installed if INSTALLMAN=man, nroff
|
||||
# preformatted versions will be installed if INSTALLMAN=cat.
|
||||
#
|
||||
# NOTE that DESTDIR should be a full path name so that the skeleton can be
|
||||
# found at run time.
|
||||
#
|
||||
DESTDIR = ./out/
|
||||
BINDIR = bin
|
||||
LIBDIR = lib
|
||||
AUXDIR = lib
|
||||
MANDIR = man
|
||||
MANEXT = 1
|
||||
INSTALLMAN = cat
|
||||
CC = cc
|
||||
|
||||
# MAKE = make
|
||||
SRCS = \
|
||||
ccl.c dfa.c ecs.c gen.c main.c \
|
||||
misc.c nfa.c parse.c scan.c sym.c \
|
||||
tblcmp.c yylex.c
|
||||
|
||||
OBJS = \
|
||||
$(OBDIR)/ccl.o $(OBDIR)/dfa.o $(OBDIR)/ecs.o \
|
||||
$(OBDIR)/gen.o $(OBDIR)/main.o $(OBDIR)/misc.o \
|
||||
$(OBDIR)/nfa.o $(OBDIR)/parse.o $(OBDIR)/scan.o \
|
||||
$(OBDIR)/sym.o $(OBDIR)/tblcmp.o $(OBDIR)/yylex.o
|
||||
|
||||
SKELETON_FILE = $(DESTDIR)$(AUXDIR)/flex.skel
|
||||
SKELFLAGS = -DDEFAULT_SKELETON_FILE=\"$(SKELETON_FILE)\"
|
||||
CFLAGS = -O2
|
||||
LDFLAGS = -s
|
||||
TARGET = $(OBDIR)/e_flex
|
||||
|
||||
COMPRESSION =
|
||||
FLEX_FLAGS = -ist8 -Sflex.skel
|
||||
# which "flex" to use to generate scan.c from scan.l
|
||||
FLEX = ./flex
|
||||
# CC = cc
|
||||
|
||||
AR = ar
|
||||
RANLIB = ranlib
|
||||
|
||||
FLEXOBJS = \
|
||||
ccl.o \
|
||||
dfa.o \
|
||||
ecs.o \
|
||||
gen.o \
|
||||
main.o \
|
||||
misc.o \
|
||||
nfa.o \
|
||||
parse.o \
|
||||
scan.o \
|
||||
sym.o \
|
||||
tblcmp.o \
|
||||
yylex.o
|
||||
|
||||
FLEX_C_SOURCES = \
|
||||
ccl.c \
|
||||
dfa.c \
|
||||
ecs.c \
|
||||
gen.c \
|
||||
main.c \
|
||||
misc.c \
|
||||
nfa.c \
|
||||
parse.c \
|
||||
scan.c \
|
||||
sym.c \
|
||||
tblcmp.c \
|
||||
yylex.c
|
||||
|
||||
FLEX_LIB_OBJS = \
|
||||
libmain.o
|
||||
|
||||
FLEXLIB = flexlib.a
|
||||
|
||||
|
||||
all : flex $(FLEXLIB)
|
||||
|
||||
flex : $(FLEXOBJS)
|
||||
$(CC) $(CFLAGS) -o flex $(LDFLAGS) $(FLEXOBJS)
|
||||
|
||||
first_flex:
|
||||
cp initscan.c scan.c
|
||||
$(MAKE) $(MFLAGS) flex
|
||||
all :: parse.h parse.c $(TARGET)
|
||||
|
||||
parse.h parse.c : parse.y
|
||||
rm -f parse.h parse.c
|
||||
$(YACC) -d parse.y
|
||||
@mv y.tab.c parse.c
|
||||
@mv y.tab.h parse.h
|
||||
|
||||
scan.c : scan.l
|
||||
$(FLEX) $(FLEX_FLAGS) $(COMPRESSION) scan.l >scan.c
|
||||
|
||||
scan.o : scan.c parse.h flexdef.h
|
||||
|
||||
main.o : main.c flexdef.h
|
||||
$(CC) $(CFLAGS) -c $(SKELFLAGS) main.c
|
||||
|
||||
ccl.o : ccl.c flexdef.h
|
||||
dfa.o : dfa.c flexdef.h
|
||||
ecs.o : ecs.c flexdef.h
|
||||
gen.o : gen.c flexdef.h
|
||||
misc.o : misc.c flexdef.h
|
||||
nfa.o : nfa.c flexdef.h
|
||||
parse.o : parse.c flexdef.h
|
||||
sym.o : sym.c flexdef.h
|
||||
tblcmp.o : tblcmp.c flexdef.h
|
||||
yylex.o : yylex.c flexdef.h
|
||||
|
||||
flex.man : flex.1
|
||||
nroff -man flex.1 >flex.man
|
||||
|
||||
$(FLEXLIB) : $(FLEX_LIB_OBJS)
|
||||
$(AR) cru $(FLEXLIB) $(FLEX_LIB_OBJS)
|
||||
|
||||
lint : $(FLEX_C_SOURCES)
|
||||
lint $(FLEX_C_SOURCES) > flex.lint
|
||||
|
||||
distrib :
|
||||
mv scan.c initscan.c
|
||||
chmod 444 initscan.c
|
||||
$(MAKE) $(MFLAGS) clean
|
||||
|
||||
install: flex $(DESTDIR)$(LIBDIR) flex.skel install.$(INSTALLMAN) install-lib
|
||||
install -s -m 755 flex $(DESTDIR)$(BINDIR)/flex
|
||||
install -c -m 644 flex.skel $(SKELETON_FILE)
|
||||
|
||||
install-lib: $(DESTDIR)$(LIBDIR) $(FLEXLIB)
|
||||
install -c -m 644 $(FLEXLIB) $(DESTDIR)$(LIBDIR)/libfl.a
|
||||
$(RANLIB) $(DESTDIR)$(LIBDIR)/libfl.a
|
||||
|
||||
$(DESTDIR)$(LIBDIR):
|
||||
mkdir $@
|
||||
|
||||
install.man: flex.1 flexdoc.1
|
||||
install -c -m 644 flex.1 $(DESTDIR)$(MANDIR)/flex.$(MANEXT)
|
||||
install -c -m 644 flexdoc.1 $(DESTDIR)$(MANDIR)/flexdoc.$(MANEXT)
|
||||
|
||||
install.cat: flex.1 flexdoc.1
|
||||
nroff -h -man flex.1 > $(DESTDIR)$(MANDIR)/flex.$(MANEXT)
|
||||
nroff -h -man flexdoc.1 > $(DESTDIR)$(MANDIR)/flexdoc.$(MANEXT)
|
||||
chmod 644 $(DESTDIR)$(MANDIR)/flex.$(MANEXT)
|
||||
chmod 644 $(DESTDIR)$(MANDIR)/flexdoc.$(MANEXT)
|
||||
|
||||
clean :
|
||||
rm -f core errs flex *.o parse.c *.lint parse.h flex.man tags \
|
||||
$(FLEXLIB)
|
||||
|
||||
tags :
|
||||
ctags $(FLEX_C_SOURCES)
|
||||
|
||||
vms : flex.man
|
||||
$(MAKE) $(MFLAGS) distrib
|
||||
|
||||
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)
|
||||
include $(EPICS)/config/RULES
|
||||
|
||||
Reference in New Issue
Block a user