1995-10-13 23:34:21 -04:00
|
|
|
VPATH = @srcdir@
|
|
|
|
CC = @CC@
|
|
|
|
CFLAGS1 = @CFLAGS1@
|
|
|
|
|
1995-11-01 20:51:32 -05:00
|
|
|
RANLIB = @RANLIB@
|
|
|
|
|
1. Removed cruft (timer.c, try.c, regexp.{3,c,h}, regmagic.h regsub.c)
that shouldn't even be in this dir -- it was from a different Spencer
package, and wasn't used; got copied in by accident at some point.
2. Removed *.ih Makefile regex.h
These are derived files produced during the build.
3. Removed patch-msg, which is old & dead.
4. Updated rest of the source to a newer version of Spencer's Posix package
(alpha3.7). Not all of these files changed, actually, but I guess
the last-mod dates did, so CVS thinks they're being updated or something?
1999-07-10 16:01:52 -04:00
|
|
|
# You probably want to take -DREDEBUG out of CFLAGS, and put something like
|
|
|
|
# -O in, *after* testing (-DREDEBUG strengthens testing by enabling a lot of
|
|
|
|
# internal assertion checking and some debugging facilities).
|
|
|
|
# Put -Dconst= in for a pre-ANSI compiler.
|
|
|
|
# Do not take -DPOSIX_MISTAKE out.
|
|
|
|
# REGCFLAGS isn't important to you (it's for my use in some special contexts).
|
|
|
|
#CFLAGS=-I. -DPOSIX_MISTAKE -DREDEBUG $(REGCFLAGS)
|
|
|
|
CFLAGS=-I. -DPOSIX_MISTAKE $(REGCFLAGS) $(CFLAGS1)
|
|
|
|
|
|
|
|
# If you have a pre-ANSI compiler, put -o into MKHFLAGS. If you want
|
|
|
|
# the Berkeley __P macro, put -b in.
|
|
|
|
MKHFLAGS=
|
|
|
|
|
|
|
|
# Flags for linking but not compiling, if any.
|
|
|
|
LDFLAGS=
|
|
|
|
|
|
|
|
# Extra libraries for linking, if any.
|
|
|
|
LIBS=
|
|
|
|
|
|
|
|
# Internal stuff, should not need changing.
|
|
|
|
OBJPRODN=regcomp.o regexec.o regerror.o regfree.o
|
|
|
|
OBJS=$(OBJPRODN) split.o debug.o main.o
|
|
|
|
H=cclass.h cname.h regex2.h utils.h
|
|
|
|
REGSRC=regcomp.c regerror.c regexec.c regfree.c
|
|
|
|
ALLSRC=$(REGSRC) engine.c debug.c main.c split.c
|
|
|
|
|
|
|
|
# Stuff that matters only if you're trying to lint the package.
|
|
|
|
LINTFLAGS=-I. -Dstatic= -Dconst= -DREDEBUG
|
|
|
|
LINTC=regcomp.c regexec.c regerror.c regfree.c debug.c main.c
|
|
|
|
JUNKLINT=possible pointer alignment|null effect
|
|
|
|
|
|
|
|
# arrangements to build forward-reference header files
|
|
|
|
.SUFFIXES: .ih .h
|
|
|
|
.c.ih:
|
|
|
|
sh ./mkh $(MKHFLAGS) -p $< >$@
|
1995-10-13 23:34:21 -04:00
|
|
|
|
1996-09-23 21:29:51 -04:00
|
|
|
default: r
|
1995-10-13 23:34:21 -04:00
|
|
|
|
1. Removed cruft (timer.c, try.c, regexp.{3,c,h}, regmagic.h regsub.c)
that shouldn't even be in this dir -- it was from a different Spencer
package, and wasn't used; got copied in by accident at some point.
2. Removed *.ih Makefile regex.h
These are derived files produced during the build.
3. Removed patch-msg, which is old & dead.
4. Updated rest of the source to a newer version of Spencer's Posix package
(alpha3.7). Not all of these files changed, actually, but I guess
the last-mod dates did, so CVS thinks they're being updated or something?
1999-07-10 16:01:52 -04:00
|
|
|
lib: purge $(OBJPRODN)
|
|
|
|
rm -f libregex.a
|
|
|
|
ar crv libregex.a $(OBJPRODN)
|
1999-08-13 13:54:59 -04:00
|
|
|
$(RANLIB) libregex.a
|
1. Removed cruft (timer.c, try.c, regexp.{3,c,h}, regmagic.h regsub.c)
that shouldn't even be in this dir -- it was from a different Spencer
package, and wasn't used; got copied in by accident at some point.
2. Removed *.ih Makefile regex.h
These are derived files produced during the build.
3. Removed patch-msg, which is old & dead.
4. Updated rest of the source to a newer version of Spencer's Posix package
(alpha3.7). Not all of these files changed, actually, but I guess
the last-mod dates did, so CVS thinks they're being updated or something?
1999-07-10 16:01:52 -04:00
|
|
|
|
|
|
|
purge:
|
|
|
|
rm -f *.o
|
|
|
|
|
|
|
|
# stuff to build regex.h
|
|
|
|
REGEXH=regex.h
|
|
|
|
REGEXHSRC=regex2.h $(REGSRC)
|
|
|
|
$(REGEXH): $(REGEXHSRC) mkh
|
|
|
|
sh ./mkh $(MKHFLAGS) -i _REGEX_H_ $(REGEXHSRC) >regex.tmp
|
|
|
|
cmp -s regex.tmp regex.h 2>/dev/null || cp regex.tmp regex.h
|
|
|
|
rm -f regex.tmp
|
|
|
|
|
|
|
|
# dependencies
|
|
|
|
$(OBJPRODN) debug.o: utils.h regex.h regex2.h
|
|
|
|
regcomp.o: cclass.h cname.h regcomp.ih
|
|
|
|
regexec.o: engine.c engine.ih
|
|
|
|
regerror.o: regerror.ih
|
|
|
|
debug.o: debug.ih
|
|
|
|
main.o: main.ih
|
|
|
|
|
|
|
|
# tester
|
|
|
|
re: $(OBJS)
|
|
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
|
|
|
|
|
|
|
|
# regression test
|
|
|
|
r: re tests
|
|
|
|
./re <tests
|
|
|
|
./re -el <tests
|
|
|
|
./re -er <tests
|
|
|
|
|
|
|
|
# 57 variants, and other stuff, for development use -- not useful to you
|
|
|
|
ra: ./re tests
|
|
|
|
-./re <tests
|
|
|
|
-./re -el <tests
|
|
|
|
-./re -er <tests
|
|
|
|
|
|
|
|
rx: ./re tests
|
|
|
|
./re -x <tests
|
|
|
|
./re -x -el <tests
|
|
|
|
./re -x -er <tests
|
|
|
|
|
|
|
|
t: ./re tests
|
|
|
|
-time ./re <tests
|
|
|
|
-time ./re -cs <tests
|
|
|
|
-time ./re -el <tests
|
|
|
|
-time ./re -cs -el <tests
|
|
|
|
|
|
|
|
l: $(LINTC)
|
|
|
|
lint $(LINTFLAGS) -h $(LINTC) 2>&1 | egrep -v '$(JUNKLINT)' | tee lint
|
|
|
|
|
|
|
|
fullprint:
|
|
|
|
ti README WHATSNEW notes todo | list
|
|
|
|
ti *.h | list
|
|
|
|
list *.c
|
|
|
|
list regex.3 regex.7
|
|
|
|
|
|
|
|
print:
|
|
|
|
ti README WHATSNEW notes todo | list
|
|
|
|
ti *.h | list
|
|
|
|
list reg*.c engine.c
|
|
|
|
|
|
|
|
|
|
|
|
mf.tmp: Makefile
|
|
|
|
sed '/^REGEXH=/s/=.*/=regex.h/' Makefile | sed '/#DEL$$/d' >$@
|
|
|
|
|
|
|
|
DTRH=cclass.h cname.h regex2.h utils.h
|
|
|
|
PRE=COPYRIGHT README WHATSNEW
|
|
|
|
POST=mkh regex.3 regex.7 tests $(DTRH) $(ALLSRC) fake/*.[ch]
|
|
|
|
FILES=$(PRE) Makefile $(POST)
|
|
|
|
DTR=$(PRE) Makefile=mf.tmp $(POST)
|
|
|
|
dtr: $(FILES) mf.tmp
|
|
|
|
makedtr $(DTR) >$@
|
|
|
|
rm mf.tmp
|
|
|
|
|
|
|
|
cio: $(FILES)
|
|
|
|
cio $(FILES)
|
|
|
|
|
|
|
|
rdf: $(FILES)
|
|
|
|
rcsdiff -c $(FILES) 2>&1 | p
|
|
|
|
|
|
|
|
# various forms of cleanup
|
|
|
|
tidy:
|
|
|
|
rm -f junk* core core.* *.core dtr *.tmp lint
|
|
|
|
|
|
|
|
clean: tidy
|
|
|
|
rm -f *.o *.s *.ih re libregex.a
|
|
|
|
|
|
|
|
# don't do this one unless you know what you're doing
|
|
|
|
spotless: clean
|
|
|
|
rm -f mkh regex.h
|