125 lines
2.9 KiB
Makefile
125 lines
2.9 KiB
Makefile
# $FreeBSD$
|
|
# 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). 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).
|
|
|
|
PATHS= ${.CURDIR}/.. ${.CURDIR}/../../locale ${.CURDIR}/../../../../include
|
|
.PATH: ${PATHS}
|
|
|
|
CFLAGS+= -DPOSIX_MISTAKE -DREDEBUG $(REGCFLAGS)
|
|
.for incpath in ${PATHS}
|
|
CFLAGS+= -I${incpath}
|
|
.endfor
|
|
|
|
# If you have an ANSI compiler, take -o out of MKHFLAGS. If you want
|
|
# the Berkeley __P macro, put -b in.
|
|
MKHFLAGS =
|
|
|
|
LDFLAGS =
|
|
|
|
# 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)
|
|
|
|
# Internal stuff, should not need changing.
|
|
OBJPRODN = regcomp.o regexec.o regerror.o regfree.o
|
|
OBJS = $(OBJPRODN) debug.o main.o $(OBJMISSING)
|
|
|
|
# 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 $(SRCMISSING)
|
|
JUNKLINT =possible pointer alignment|null effect
|
|
|
|
.SUFFIXES: .ih .h
|
|
.c.ih:
|
|
./mkh $(MKHFLAGS) -p $< >$@
|
|
|
|
default: r
|
|
|
|
re: $(OBJS)
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@
|
|
|
|
o: $(OBJPRODN)
|
|
|
|
REGEXHSRC = regex2.h reg*.c
|
|
h: $(REGEXHSRC)
|
|
./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
|
|
|
|
regcomp.o regexec.o regfree.o 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
|
|
regerror.o: utils.h
|
|
debug.o: debug.ih
|
|
main.o: main.ih
|
|
|
|
r: re tests
|
|
./re <tests
|
|
./re -el <tests
|
|
./re -er <tests
|
|
|
|
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
|
|
|
|
e: echeck re tests
|
|
./re -d <tests | awk -f echeck
|
|
|
|
l: $(LINTC)
|
|
lint $(LINTFLAGS) -h $(LINTC) 2>&1 | egrep -v '$(JUNKLINT)' | tee lint
|
|
|
|
fullprint:
|
|
ti README WHATSNEW notes todo | hplist
|
|
ti *.h | hplist
|
|
hplist *.c
|
|
hplist regex.3 regex.7
|
|
|
|
print:
|
|
ti README WHATSNEW notes todo | hplist
|
|
ti *.h | hplist
|
|
hplist reg*.c engine.c
|
|
|
|
clean: tidy
|
|
rm -f *.o *.s *.ih re
|
|
|
|
tidy:
|
|
rm -f junk* core dtr regex.tmp lint
|
|
|
|
spotless: clean
|
|
rm -f mkh regex.h
|
|
|
|
mkh: /usr/henry/bin/mkh
|
|
cp $? $@
|
|
|
|
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) >$@
|
|
|
|
cio: $(DTR)
|
|
cio $(DTR)
|
|
|
|
rdf: $(DTR)
|
|
rcsdiff -c $(DTR) 2>&1 | p
|