This commit was manufactured by cvs2svn to create tag 'FreeBSD-release/1.0'.
[unix-history] / gnu / lib / libregex / test / Makefile.in
CommitLineData
78ed81a3 1# Makefile for regex testing.
2#
3# Copyright (C) 1992 Free Software Foundation, Inc.
4#
5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 2, or (at your option)
8# any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program; if not, write to the Free Software
17# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18
19CPPFLAGS =
20CFLAGS = -g
21LDFLAGS =
22
23srcdir = @srcdir@
24VPATH = @srcdir@:../@srcdir@
25
26CC = @CC@
27DEFS = @DEFS@
28LIBS = @LIBS@ $(LOADLIBES)
29
30ETAGS = etags
31SHELL = /bin/sh
32
33debug = -DDEBUG
34ALL_CPPFLAGS = -I. -I$(srcdir) -I../$(srcdir) $(DEFS) $(CPPFLAGS) $(debug)
35
36.c.o:
37 $(CC) $(ALL_CPPFLAGS) $(CFLAGS) -c $<
38
39
40# Define this as `../regex.o' to get the optimized version.
41regex_o = dregex.o
42test_h = test.h
43test_o = test.o bsd-interf.o other.o tregress.o psx-basic.o psx-extend.o \
44 psx-generic.o psx-group.o psx-interf.o psx-interv.o
45common_o = printchar.o upcase.o xmalloc.o $(malloc)
46
47# We have a lot of mallocs we can try when we run afoul of strange bugs.
48malloc = @ALLOCA@
49#malloc = # the libc malloc
50#malloc = g++malloc.o
51#malloc = debugmalloc.o
52#malloc = emacsmalloc.o
53emacsmallocflags = -Drcheck -Dbotch=abort -DUSG
54
55# default is to do nothing.
56default:
57
58all: regex syntax
59
60regex: $(regex_o) $(common_o) $(test_o) main.o
61 $(CC) -o $@ $(LDFLAGS) $^ $(LIBS)
62
63# As long as we're doing tests, we enable debugging.
64dregex.o: ../regex.c ../regex.h
65 rm -f $@
66 $(CC) $(ALL_CPPFLAGS) $(CFLAGS) -c ../$(srcdir)/regex.c
67 mv regex.o $@
68
69# iregex is the interactive regex.
70iregex: $(common_o) $(regex_o) iregex.o
71 $(CC) -o $@ $(LDFLAGS) $^ $(LIBS)
72
73# fileregex searches for an r.e. in every line of a given file.
74fileregex_o = fileregex.o printchar.o $(regex_o)
75fileregex: $(fileregex_o)
76 $(CC) -o $@ $(LDFLAGS) $(fileregex_o) $(LIBS)
77
78# cppregex is regex with a preprocessed regex.c. Useful when the
79# problem is inside some macro.
80cppregex: regexcpp.o $(common_o) $(test_o) main.o
81 $(CC) -o $@ $(LDFLAGS) $^ $(LIBS)
82
83regexcpp.o: regexcpp.c
84
85regexcpp.c: regex.c regexcpp.sed
86 rm -f regexcpp.c
87 $(CC) -E $(ALL_CPPFLAGS) ../$(srcdir)/regex.c \
88 | egrep -v '^#|^ *$$' \
89 | sed -f regexcpp.sed \
90 > regexcpp.c
91 chmod a-w regexcpp.c
92
93# Have to give this malloc special flags.
94emacsmalloc.o: emacsmalloc.c
95 $(CC) -c $(CFLAGS) $(ALL_CPPFLAGS) $(emacsmallocflags) \
96 ../$(srcdir)/test/emacsmalloc.c
97
98syntax: syntax.o
99 $(CC) $(CFLAGS) -o $@ syntax.o
100
101syntax.c: syntax.skel bits
102 sed '/\[\[\[replace.*\]\]\]/r bits' syntax.skel > $@
103
104bits: regex.h
105 sed -n 1,/RE_SYNTAX_EMACS/p ../$(srcdir)/regex.h \
106 | grep "#define RE_.*1" \
107 | sed 's/^#define \(RE_[A-Z_]*\) .*/ TEST_BIT (\1);/' > $@
108
109check: regex
110 ./regex
111
112TAGS: regex.c regex.h *.h *.c
113 $(ETAGS) -t $^
114
115depend:
116 gcc -MM $(ALL_CPPFLAGS) *.c > /tmp/depend
117.PHONY: depend
118
119install:
120.PHONY: install
121
122clean mostlyclean:
123 rm -f *.o regex cppregex iregex fileregex regexcpp.c syntax
124
125distclean: clean
126 rm -f bits syntax.c Makefile
127
128extraclean: distclean
129 rm -f *~* *\#* patch* *.orig *.rej *.bak core a.out
130
131realclean: distclean
132 rm -f TAGS
133
134Makefile: Makefile.in ../config.status
135 (cd ..; sh config.status)
136
137# Prevent GNU make 3 from overflowing arg limit on system V.
138.NOEXPORT:
139
140# Assumes $(distdir) is the place to put our files.
141distfiles = ChangeLog TAGS *.in *.c *.h regexcpp.sed syntax.skel
142dist: Makefile TAGS
143 mkdir $(distdir)
144 ln $(distfiles) $(distdir)
145
146# Automatically-generated dependencies below here.
147alloca.o : alloca.c
148bsd-interf.o : bsd-interf.c
149debugmalloc.o : debugmalloc.c
150emacsmalloc.o : emacsmalloc.c getpagesize.h
151fileregex.o : fileregex.c .././regex.h
152g++malloc.o : g++malloc.c //usr/include/stdio.h getpagesize.h
153iregex.o : iregex.c .././regex.h
154main.o : main.c test.h .././regex.h
155malloc-test.o : malloc-test.c
156other.o : other.c test.h .././regex.h
157printchar.o : printchar.c
158psx-basic.o : psx-basic.c test.h .././regex.h
159psx-extend.o : psx-extend.c test.h .././regex.h
160psx-generic.o : psx-generic.c test.h .././regex.h
161psx-group.o : psx-group.c test.h .././regex.h
162psx-interf.o : psx-interf.c test.h .././regex.h
163psx-interv.o : psx-interv.c test.h .././regex.h
164syntax.o : syntax.c .././regex.h
165test.o : test.c test.h .././regex.h
166tregress.o : tregress.c test.h .././regex.h
167upcase.o : upcase.c
168xmalloc.o : xmalloc.c