head	1.4;
access;
symbols
	perseant-exfatfs-base-20250801:1.4
	perseant-exfatfs-base-20240630:1.4
	perseant-exfatfs:1.4.0.46
	perseant-exfatfs-base:1.4
	cjep_sun2x:1.4.0.44
	cjep_sun2x-base:1.4
	cjep_staticlib_x-base1:1.4
	cjep_staticlib_x:1.4.0.42
	cjep_staticlib_x-base:1.4
	phil-wifi-20200421:1.4
	phil-wifi-20200411:1.4
	phil-wifi-20200406:1.4
	pgoyette-compat-merge-20190127:1.4
	pgoyette-compat-20190127:1.4
	pgoyette-compat-20190118:1.4
	pgoyette-compat-1226:1.4
	pgoyette-compat-1126:1.4
	pgoyette-compat-1020:1.4
	pgoyette-compat-0930:1.4
	pgoyette-compat-0906:1.4
	pgoyette-compat-0728:1.4
	pgoyette-compat-0625:1.4
	pgoyette-compat-0521:1.4
	pgoyette-compat-0502:1.4
	pgoyette-compat-0422:1.4
	pgoyette-compat-0415:1.4
	pgoyette-compat-0407:1.4
	pgoyette-compat-0330:1.4
	pgoyette-compat-0322:1.4
	pgoyette-compat-0315:1.4
	pgoyette-compat:1.4.0.40
	pgoyette-compat-base:1.4
	perseant-stdc-iso10646:1.4.0.38
	perseant-stdc-iso10646-base:1.4
	prg-localcount2-base3:1.4
	prg-localcount2-base2:1.4
	prg-localcount2-base1:1.4
	prg-localcount2:1.4.0.36
	prg-localcount2-base:1.4
	pgoyette-localcount-20170426:1.4
	bouyer-socketcan-base1:1.4
	pgoyette-localcount-20170320:1.4
	bouyer-socketcan:1.4.0.34
	bouyer-socketcan-base:1.4
	pgoyette-localcount-20170107:1.4
	pgoyette-localcount-20161104:1.4
	localcount-20160914:1.4
	pgoyette-localcount-20160806:1.4
	pgoyette-localcount-20160726:1.4
	pgoyette-localcount:1.4.0.32
	pgoyette-localcount-base:1.4
	netbsd-5-2-3-RELEASE:1.4
	netbsd-5-1-5-RELEASE:1.4
	yamt-pagecache-base9:1.4
	yamt-pagecache-tag8:1.4
	tls-earlyentropy:1.4.0.28
	tls-earlyentropy-base:1.4
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.4
	riastradh-drm2-base3:1.4
	netbsd-5-2-2-RELEASE:1.4
	netbsd-5-1-4-RELEASE:1.4
	netbsd-5-2-1-RELEASE:1.4
	netbsd-5-1-3-RELEASE:1.4
	agc-symver:1.4.0.30
	agc-symver-base:1.4
	tls-maxphys-base:1.4
	yamt-pagecache-base8:1.4
	netbsd-5-2:1.4.0.26
	yamt-pagecache-base7:1.4
	netbsd-5-2-RELEASE:1.4
	netbsd-5-2-RC1:1.4
	yamt-pagecache-base6:1.4
	yamt-pagecache-base5:1.4
	yamt-pagecache-base4:1.4
	netbsd-5-1-2-RELEASE:1.4
	netbsd-5-1-1-RELEASE:1.4
	yamt-pagecache-base3:1.4
	yamt-pagecache-base2:1.4
	yamt-pagecache:1.4.0.24
	yamt-pagecache-base:1.4
	bouyer-quota2-nbase:1.4
	bouyer-quota2:1.4.0.22
	bouyer-quota2-base:1.4
	matt-nb5-pq3:1.4.0.20
	matt-nb5-pq3-base:1.4
	netbsd-5-1:1.4.0.18
	netbsd-5-1-RELEASE:1.4
	netbsd-5-1-RC4:1.4
	netbsd-5-1-RC3:1.4
	netbsd-5-1-RC2:1.4
	netbsd-5-1-RC1:1.4
	netbsd-5-0-2-RELEASE:1.4
	netbsd-5-0-1-RELEASE:1.4
	jym-xensuspend-nbase:1.4
	netbsd-5-0:1.4.0.16
	netbsd-5-0-RELEASE:1.4
	netbsd-5-0-RC4:1.4
	netbsd-5-0-RC3:1.4
	netbsd-5-0-RC2:1.4
	jym-xensuspend:1.4.0.14
	jym-xensuspend-base:1.4
	netbsd-5-0-RC1:1.4
	netbsd-5:1.4.0.12
	netbsd-5-base:1.4
	mjf-devfs2:1.4.0.10
	mjf-devfs2-base:1.4
	yamt-pf42-base4:1.4
	yamt-pf42-base3:1.4
	hpcarm-cleanup-nbase:1.4
	yamt-pf42-base2:1.4
	yamt-pf42:1.4.0.8
	yamt-pf42-base:1.4
	keiichi-mipv6:1.4.0.6
	keiichi-mipv6-base:1.4
	cube-autoconf:1.4.0.4
	cube-autoconf-base:1.4
	hpcarm-cleanup:1.4.0.2
	hpcarm-cleanup-base:1.4
	nathanw_sa_before_merge:1.4
	nathanw_sa_base:1.4
	netbsd-1-0-PATCH06:1.3
	netbsd-1-0-PATCH05:1.3
	netbsd-1-0-PATCH04:1.3
	netbsd-1-0-PATCH03:1.3
	netbsd-1-0-PATCH02:1.3
	netbsd-1-0-PATCH1:1.3
	netbsd-1-0-PATCH0:1.3
	netbsd-1-0-RELEASE:1.3
	netbsd-1-0:1.3.0.2
	netbsd-1-0-base:1.3;
locks; strict;
comment	@# @;


1.4
date	95.01.30.12.19.29;	author mycroft;	state dead;
branches;
next	1.3;

1.3
date	94.02.23.21.17.40;	author jtc;	state Exp;
branches;
next	1.2;

1.2
date	93.11.11.02.02.57;	author jtc;	state Exp;
branches;
next	1.1;

1.1
date	93.11.10.23.34.55;	author jtc;	state Exp;
branches;
next	;


desc
@@


1.4
log
@Clean up deleted files.
@
text
@# 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)

# If you have a pre-ANSI compiler, put -o into MKHFLAGS.  If you want
# the Berkeley __P macro, put -b in.
MKHFLAGS= -b

# 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 $< >$@@

default:	r

lib:	purge $(OBJPRODN)
	rm -f libregex.a
	ar crv libregex.a $(OBJPRODN)

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
@


1.3
log
@Upgrade regex routines to alpha3.3.
@
text
@@


1.2
log
@Update to Henry's Nov 2, 1993 alpha3.2 release.
@
text
@d3 5
a7 4
# internal assertion checking).  Take -Dconst= out for an 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)
d9 1
a9 1
# If you have an ANSI compiler, take -o out of MKHFLAGS.  If you want
d11 1
a11 1
MKHFLAGS = -b
d13 2
a14 1
LDFLAGS =
d16 2
a17 8
# If you have an ANSI environment, take limits.h and stdlib.h out of
# HMISSING and take memmove out of SRCMISSING and OBJMISSING.
HMISSING =
SRCMISSING = split.c
OBJMISSING = split.o
H = cclass.h cname.h regex2.h utils.h $(HMISSING)
REGSRC = regcomp.c regerror.c regexec.c regfree.c engine.c
SRC = $(REGSRC) debug.c main.c $(SRCMISSING)
d20 5
a24 2
OBJPRODN = regcomp.o regexec.o regerror.o regfree.o
OBJS = $(OBJPRODN) debug.o main.o $(OBJMISSING)
d27 3
a29 3
LINTFLAGS = -I. -Dstatic= -Dconst= -DREDEBUG
LINTC = regcomp.c regexec.c regerror.c regfree.c debug.c main.c $(SRCMISSING)
JUNKLINT =possible pointer alignment|null effect
d31 1
d34 1
a34 1
	./mkh $(MKHFLAGS) -p $< >$@@
d38 12
a49 8
re:	$(OBJS)
	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@@

o:	$(OBJPRODN)

REGEXHSRC = regex2.h reg*.c
h:	$(REGEXHSRC)
	./mkh $(MKHFLAGS) -i _REGEX_H_ $(REGEXHSRC) >regex.tmp
d53 2
a54 1
regcomp.o regexec.o regfree.o debug.o:	utils.h regex.h regex2.h
a57 1
regerror.o:	utils.h
d61 5
d71 1
a87 3
e:	echeck re tests
	./re -d <tests | awk -f echeck

d92 4
a95 4
	ti README WHATSNEW notes todo | hplist
	ti *.h | hplist
	hplist *.c
	hplist regex.3 regex.7
d98 3
a100 3
	ti README WHATSNEW notes todo | hplist
	ti *.h | hplist
	hplist reg*.c engine.c
a101 2
clean:	tidy
	rm -f *.o *.s *.ih re
d103 11
a113 2
tidy:
	rm -f junk* core dtr regex.tmp lint
d115 2
a116 2
spotless:	clean
	rm -f mkh regex.h
d118 2
a119 2
mkh:	/usr/henry/bin/mkh
	cp $? $@@
d121 3
a123 4
DTRH = cclass.h cname.h regex2.h utils.h limits.h stdlib.h
DTR = README WHATSNEW Makefile Makefile.44bsd mkh regex.3 regex.7 tests $(DTRH) $(SRC)
dtr:	$(DTR)
	makedtr $(DTR) >$@@
d125 2
a126 2
cio:	$(DTR)
	cio $(DTR)
d128 3
a130 2
rdf:	$(DTR)
	rcsdiff -c $(DTR) 2>&1 | p
@


1.1
log
@Henry Spencer's POSIX.2 compatibile regular expression matching routines.
@
text
@a5 1
#CFLAGS = -I. -Dconst= -DPOSIX_MISTAKE -DREDEBUG $(REGCFLAGS)
a9 1
#MKHFLAGS = -o
a15 3
#HMISSING = limits.h stdlib.h
#SRCMISSING = split.c memmove.c
#OBJMISSING = split.o memmove.o
d116 1
a116 1
	rcsdiff -c $(DTR)
@
