xref: /freebsd/lib/libc/regex/grot/Makefile (revision 8ca5c256cb0a0ac117493557f3fc397f68f16759)
18ca5c256SDaniel C. Sobral# $FreeBSD$
28ca5c256SDaniel C. Sobral# You probably want to take -DREDEBUG out of CFLAGS, and put something like
38ca5c256SDaniel C. Sobral# -O in, *after* testing (-DREDEBUG strengthens testing by enabling a lot of
48ca5c256SDaniel C. Sobral# internal assertion checking).  Take -Dconst= out for an ANSI compiler.
58ca5c256SDaniel C. Sobral# Do not take -DPOSIX_MISTAKE out.  REGCFLAGS isn't important to you (it's
68ca5c256SDaniel C. Sobral# for my use in some special contexts).
78ca5c256SDaniel C. SobralCFLAGS = -I. -DPOSIX_MISTAKE -DREDEBUG $(REGCFLAGS)
88ca5c256SDaniel C. Sobral
98ca5c256SDaniel C. Sobral# If you have an ANSI compiler, take -o out of MKHFLAGS.  If you want
108ca5c256SDaniel C. Sobral# the Berkeley __P macro, put -b in.
118ca5c256SDaniel C. SobralMKHFLAGS =
128ca5c256SDaniel C. Sobral
138ca5c256SDaniel C. SobralLDFLAGS =
148ca5c256SDaniel C. Sobral
158ca5c256SDaniel C. Sobral# If you have an ANSI environment, take limits.h and stdlib.h out of
168ca5c256SDaniel C. Sobral# HMISSING and take memmove out of SRCMISSING and OBJMISSING.
178ca5c256SDaniel C. SobralHMISSING =
188ca5c256SDaniel C. SobralSRCMISSING = split.c
198ca5c256SDaniel C. SobralOBJMISSING = split.o
208ca5c256SDaniel C. SobralH = cclass.h cname.h regex2.h utils.h $(HMISSING)
218ca5c256SDaniel C. SobralREGSRC = regcomp.c regerror.c regexec.c regfree.c engine.c
228ca5c256SDaniel C. SobralSRC = $(REGSRC) debug.c main.c $(SRCMISSING)
238ca5c256SDaniel C. Sobral
248ca5c256SDaniel C. Sobral# Internal stuff, should not need changing.
258ca5c256SDaniel C. SobralOBJPRODN = regcomp.o regexec.o regerror.o regfree.o
268ca5c256SDaniel C. SobralOBJS = $(OBJPRODN) debug.o main.o $(OBJMISSING)
278ca5c256SDaniel C. Sobral
288ca5c256SDaniel C. Sobral# Stuff that matters only if you're trying to lint the package.
298ca5c256SDaniel C. SobralLINTFLAGS = -I. -Dstatic= -Dconst= -DREDEBUG
308ca5c256SDaniel C. SobralLINTC = regcomp.c regexec.c regerror.c regfree.c debug.c main.c $(SRCMISSING)
318ca5c256SDaniel C. SobralJUNKLINT =possible pointer alignment|null effect
328ca5c256SDaniel C. Sobral
338ca5c256SDaniel C. Sobral.SUFFIXES:	.ih .h
348ca5c256SDaniel C. Sobral.c.ih:
358ca5c256SDaniel C. Sobral	./mkh $(MKHFLAGS) -p $< >$@
368ca5c256SDaniel C. Sobral
378ca5c256SDaniel C. Sobraldefault:	r
388ca5c256SDaniel C. Sobral
398ca5c256SDaniel C. Sobralre:	$(OBJS)
408ca5c256SDaniel C. Sobral	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@
418ca5c256SDaniel C. Sobral
428ca5c256SDaniel C. Sobralo:	$(OBJPRODN)
438ca5c256SDaniel C. Sobral
448ca5c256SDaniel C. SobralREGEXHSRC = regex2.h reg*.c
458ca5c256SDaniel C. Sobralh:	$(REGEXHSRC)
468ca5c256SDaniel C. Sobral	./mkh $(MKHFLAGS) -i _REGEX_H_ $(REGEXHSRC) >regex.tmp
478ca5c256SDaniel C. Sobral	cmp -s regex.tmp regex.h 2>/dev/null || cp regex.tmp regex.h
488ca5c256SDaniel C. Sobral	rm -f regex.tmp
498ca5c256SDaniel C. Sobral
508ca5c256SDaniel C. Sobralregcomp.o regexec.o regfree.o debug.o:	utils.h regex.h regex2.h
518ca5c256SDaniel C. Sobralregcomp.o:	cclass.h cname.h regcomp.ih
528ca5c256SDaniel C. Sobralregexec.o:	engine.c engine.ih
538ca5c256SDaniel C. Sobralregerror.o:	regerror.ih
548ca5c256SDaniel C. Sobralregerror.o:	utils.h
558ca5c256SDaniel C. Sobraldebug.o:	debug.ih
568ca5c256SDaniel C. Sobralmain.o:	main.ih
578ca5c256SDaniel C. Sobral
588ca5c256SDaniel C. Sobralr:	re tests
598ca5c256SDaniel C. Sobral	./re <tests
608ca5c256SDaniel C. Sobral	./re -el <tests
618ca5c256SDaniel C. Sobral	./re -er <tests
628ca5c256SDaniel C. Sobral
638ca5c256SDaniel C. Sobralra:	./re tests
648ca5c256SDaniel C. Sobral	-./re <tests
658ca5c256SDaniel C. Sobral	-./re -el <tests
668ca5c256SDaniel C. Sobral	-./re -er <tests
678ca5c256SDaniel C. Sobral
688ca5c256SDaniel C. Sobralrx:	./re tests
698ca5c256SDaniel C. Sobral	./re -x <tests
708ca5c256SDaniel C. Sobral	./re -x -el <tests
718ca5c256SDaniel C. Sobral	./re -x -er <tests
728ca5c256SDaniel C. Sobral
738ca5c256SDaniel C. Sobralt:	./re tests
748ca5c256SDaniel C. Sobral	-time ./re <tests
758ca5c256SDaniel C. Sobral	-time ./re -cs <tests
768ca5c256SDaniel C. Sobral	-time ./re -el <tests
778ca5c256SDaniel C. Sobral	-time ./re -cs -el <tests
788ca5c256SDaniel C. Sobral
798ca5c256SDaniel C. Sobrale:	echeck re tests
808ca5c256SDaniel C. Sobral	./re -d <tests | awk -f echeck
818ca5c256SDaniel C. Sobral
828ca5c256SDaniel C. Sobrall:	$(LINTC)
838ca5c256SDaniel C. Sobral	lint $(LINTFLAGS) -h $(LINTC) 2>&1 | egrep -v '$(JUNKLINT)' | tee lint
848ca5c256SDaniel C. Sobral
858ca5c256SDaniel C. Sobralfullprint:
868ca5c256SDaniel C. Sobral	ti README WHATSNEW notes todo | hplist
878ca5c256SDaniel C. Sobral	ti *.h | hplist
888ca5c256SDaniel C. Sobral	hplist *.c
898ca5c256SDaniel C. Sobral	hplist regex.3 regex.7
908ca5c256SDaniel C. Sobral
918ca5c256SDaniel C. Sobralprint:
928ca5c256SDaniel C. Sobral	ti README WHATSNEW notes todo | hplist
938ca5c256SDaniel C. Sobral	ti *.h | hplist
948ca5c256SDaniel C. Sobral	hplist reg*.c engine.c
958ca5c256SDaniel C. Sobral
968ca5c256SDaniel C. Sobralclean:	tidy
978ca5c256SDaniel C. Sobral	rm -f *.o *.s *.ih re
988ca5c256SDaniel C. Sobral
998ca5c256SDaniel C. Sobraltidy:
1008ca5c256SDaniel C. Sobral	rm -f junk* core dtr regex.tmp lint
1018ca5c256SDaniel C. Sobral
1028ca5c256SDaniel C. Sobralspotless:	clean
1038ca5c256SDaniel C. Sobral	rm -f mkh regex.h
1048ca5c256SDaniel C. Sobral
1058ca5c256SDaniel C. Sobralmkh:	/usr/henry/bin/mkh
1068ca5c256SDaniel C. Sobral	cp $? $@
1078ca5c256SDaniel C. Sobral
1088ca5c256SDaniel C. SobralDTRH = cclass.h cname.h regex2.h utils.h limits.h stdlib.h
1098ca5c256SDaniel C. SobralDTR = README WHATSNEW Makefile Makefile.44bsd mkh regex.3 regex.7 tests $(DTRH) $(SRC)
1108ca5c256SDaniel C. Sobraldtr:	$(DTR)
1118ca5c256SDaniel C. Sobral	makedtr $(DTR) >$@
1128ca5c256SDaniel C. Sobral
1138ca5c256SDaniel C. Sobralcio:	$(DTR)
1148ca5c256SDaniel C. Sobral	cio $(DTR)
1158ca5c256SDaniel C. Sobral
1168ca5c256SDaniel C. Sobralrdf:	$(DTR)
1178ca5c256SDaniel C. Sobral	rcsdiff -c $(DTR) 2>&1 | p
118