-# 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)
+#-------------------------------------------------------------------------
+#
+# Makefile--
+# Makefile for backend/regex
+#
+# IDENTIFICATION
+# $Header: /projects/cvsroot/pgsql-server/src/backend/regex/Makefile,v 1.20 2003/02/05 17:41:32 tgl Exp $
+#
+#-------------------------------------------------------------------------
-# If you have a pre-ANSI compiler, put -o into MKHFLAGS. If you want
-# the Berkeley __P macro, put -b in.
-MKHFLAGS=
+subdir = src/backend/regex
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
-# Flags for linking but not compiling, if any.
-LDFLAGS=
+OBJS = regcomp.o regerror.o regexec.o regfree.o
-# Extra libraries for linking, if any.
-LIBS=
+all: SUBSYS.o
-# 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
+SUBSYS.o: $(OBJS)
+ $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-# 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
+# mark inclusion dependencies between .c files explicitly
+regcomp.o: regcomp.c regc_lex.c regc_color.c regc_nfa.c regc_cvec.c regc_locale.c
-# arrangements to build forward-reference header files
-.SUFFIXES: .ih .h
-.c.ih:
- sh ./mkh $(MKHFLAGS) -p $< >$@
+regexec.o: regexec.c rege_dfa.c
-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
+clean:
+ rm -f SUBSYS.o $(OBJS)