summaryrefslogtreecommitdiff
path: root/apps/gperf
diff options
context:
space:
mode:
authorpradeep <pradeep@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-08-31 19:45:15 +0000
committerpradeep <pradeep@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-08-31 19:45:15 +0000
commit1cd50f790cd9ea7bb79642fefe737a7e92ed12c1 (patch)
treef3a7d3c8f2de1ef0e3d9c0693f38e710671a7638 /apps/gperf
parentc5f60e1876532468f624df7ad50505b01c860a1d (diff)
downloadATCD-1cd50f790cd9ea7bb79642fefe737a7e92ed12c1.tar.gz
*** empty log message ***
Diffstat (limited to 'apps/gperf')
-rw-r--r--apps/gperf/tests/Makefile202
1 files changed, 168 insertions, 34 deletions
diff --git a/apps/gperf/tests/Makefile b/apps/gperf/tests/Makefile
index f48bac44333..83bb3e38036 100644
--- a/apps/gperf/tests/Makefile
+++ b/apps/gperf/tests/Makefile
@@ -1,76 +1,199 @@
# $Id$
# Copyright (C) 1989, 1992, 1993 Free Software Foundation, Inc.
# written by Douglas C. Schmidt (schmidt@ics.uci.edu)
-#
+#
# This file is part of GNU GPERF.
-#
+#
# GNU GPERF is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 1, or (at your option)
# any later version.
-#
+#
# GNU GPERF is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with GNU GPERF; see the file COPYING. If not, write to the Free
-# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111, USA.
#----------------------------------------------------------------------------
# Include macros and targets
#----------------------------------------------------------------------------
-SRC= test.cpp
+LDLIBS = -lACE
+
+srcdir = .
+GPERF = ../src/gperf
+
+PROG_SRCS = \
+ test.cpp \
+ cinset.cpp \
+ c++inset.cpp \
+ iinset.cpp \
+ iinset2.cpp \
+ tinset.cpp \
+ pinset.cpp \
+ m3inset.cpp \
+ adainset.cpp \
+ preinset.cpp
+
+SRC = $(PROG_SRCS)
+
+COUT_OBJS = test.o \
+ cinset.o
+
+AOUT_OBJS = test.o \
+ adainset.o
+
+CPPOUT_OBJS = test.o \
+ c++inset.o
+
+PREOUT_OBJS = test.o \
+ preinset.o
+
+M3OUT_OBJS = test.o \
+ m3inset.o
+
+POUT_OBJS = test.o \
+ pinset.o
+
+IOUT_OBJS = test.o \
+ iinset.o
+
+IOUT2_OBJS = test.o \
+ iinset2.o
+
+TOUT_OBJS = test.o \
+ tinset.o
+
+BIN2 = cout \
+ aout \
+ c++out \
+ preout \
+ m3out \
+ pout \
+ iout \
+ iout2 \
+ tout
+
+BUILD = $(BIN)
+BUILD+=runtests
+VLDLIBS = $(LDLIBS:%=%$(VAR))
+VBIN = $(BIN:%=%$(VAR))
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
include $(ACE_ROOT)/include/makeinclude/macros.GNU
include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-srcdir = .
-GPERF = ../src/gperf
-all:
- @echo "performing some tests of the perfect hash generator"
- $(COMPILE.cc) $(srcdir)/test.cpp
- $(GPERF) -a -p -c -l -S1 -o $(srcdir)/c.gperf > cinset.cpp
- $(CXX) $(CCFLAGS) -o cout cinset.cpp test.o $(LDFLAGS) $(VLDLIBS)
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+#rules to make the gperf generated source files..
+
+all: cout \
+ aout \
+ c++out \
+ preout \
+ m3out \
+ pout \
+ iout \
+ iout2 \
+ tout \
+ runtests
+
+cinset.cpp: $(srcdir)/c.gperf $(GPERF)
+ $(GPERF) -a -p -c -l -S1 -o $(srcdir)/c.gperf > $@
+
+adainset.cpp: $(srcdir)/ada.gperf $(GPERF)
+ $(GPERF) -a -k1,4,'$$' $(srcdir)/ada.gperf > $@
+
+c++inset.cpp: $(srcdir)/c++.gperf $(GPERF)
+ $(GPERF) -a -D $(srcdir)/c++.gperf > $@
+
+preinset.cpp: $(srcdir)/adadefs.gperf $(GPERF)
+ $(GPERF) -a -p -D -k1,'$$' -s 2 -o $(srcdir)/adadefs.gperf > $@
+
+m3inset.cpp: $(srcdir)/modula3.gperf $(GPERF)
+ $(GPERF) -a -k1,2,'$$' -o $(srcdir)/modula3.gperf > $@
+
+pinset.cpp: $(srcdir)/pascal.gperf $(GPERF)
+ $(GPERF) -a -o -S2 -p < $(srcdir)/pascal.gperf > $@
+
+iinset.cpp: $(srcdir)/idl.gperf $(GPERF)
+ $(GPERF) -m -M -c -C -D -S1 -E -T -a -o -p < $(srcdir)/idl.gperf > $@
+
+# no S1 flag in this case..
+iinset2.cpp: $(srcdir)/idl.gperf $(GPERF)
+ $(GPERF) -m -M -c -C -D -E -T -a -o -p $(srcdir)/idl.gperf > $@
+
+tinset.cpp: $(srcdir)/corba.gperf $(GPERF)
+ $(GPERF) -a -o < $(srcdir)/corba.gperf > $@
+
+#rules to make the test executables
+
+cout:$(addprefix $(VDIR),$(COUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+aout:$(addprefix $(VDIR),$(AOUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+c++out:$(addprefix $(VDIR),$(CPPOUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+preout:$(addprefix $(VDIR),$(PREOUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+m3out:$(addprefix $(VDIR),$(M3OUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+pout:$(addprefix $(VDIR),$(POUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+iout:$(addprefix $(VDIR),$(IOUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+iout2:$(addprefix $(VDIR),$(IOUT2_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+tout:$(addprefix $(VDIR),$(TOUT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+runtests:
+ @echo "performing some tests of the perfect hash generator"
+ # test cout
./cout -v < $(srcdir)/c.gperf > c.out
-diff -b $(srcdir)/c.exp c.out
- $(GPERF) -a -k1,4,'$$' $(srcdir)/ada.gperf > adainset.cpp
- $(CXX) $(CCFLAGS) -o aout adainset.cpp test.o $(LDFLAGS) $(VLDLIBS)
+ # test aout
./aout -v < $(srcdir)/ada.gperf > ada-res.out
-diff -b $(srcdir)/ada-res.exp ada-res.out
- $(GPERF) -a -D $(srcdir)/c++.gperf > c++inset.cpp
- $(CXX) $(CCFLAGS) -o c++out c++inset.cpp test.o $(LDFLAGS) $(VLDLIBS)
+ # test c++out
./c++out -v < $(srcdir)/c++.gperf > c++-res.out
-diff -b $(srcdir)/c++-res.exp c++-res.out
- $(GPERF) -a -p -D -k1,'$$' -s 2 -o $(srcdir)/adadefs.gperf > preinset.cpp
- $(CXX) $(CCFLAGS) -o preout preinset.cpp test.o $(LDFLAGS) $(VLDLIBS)
+ # test preout
./preout -v < $(srcdir)/adadefs.gperf > ada-pred.out
-diff -b $(srcdir)/ada-pred.exp ada-pred.out
- $(GPERF) -a -k1,2,'$$' -o $(srcdir)/modula3.gperf > m3inset.cpp
- $(CXX) $(CCFLAGS) -o m3out m3inset.cpp test.o $(LDFLAGS) $(VLDLIBS)
+ # test m3out
./m3out -v < $(srcdir)/modula3.gperf > modula.out
-diff -b $(srcdir)/modula.exp modula.out
- $(GPERF) -a -o -S2 -p < $(srcdir)/pascal.gperf > pinset.cpp
- $(CXX) $(CCFLAGS) -o pout pinset.cpp test.o $(LDFLAGS) $(VLDLIBS)
+ # test pout
./pout -v < $(srcdir)/pascal.gperf > pascal.out
-diff -b $(srcdir)/pascal.exp pascal.out
- $(GPERF) -m -M -c -C -D -S1 -E -T -a -o -p < $(srcdir)/idl.gperf > iinset.cpp
- $(CXX) $(CCFLAGS) -o iout iinset.cpp test.o $(LDFLAGS) $(VLDLIBS)
+ # test iout
./iout -v < $(srcdir)/idl.gperf > idl.out
-diff -b $(srcdir)/idl.exp idl.out
- $(GPERF) -m -M -c -C -D -E -T -a -o -p < $(srcdir)/idl.gperf > iinset.cpp
- $(CXX) $(CCFLAGS) -o iout iinset.cpp test.o $(LDFLAGS) $(VLDLIBS)
- ./iout -v < $(srcdir)/idl.gperf > idl.out
+ # test iout2
+ ./iout2 -v < $(srcdir)/idl.gperf > idl.out
-diff -b $(srcdir)/idl.exp idl.out
- $(GPERF) -a -o < $(srcdir)/corba.gperf > tinset.cpp
- $(CXX) $(CCFLAGS) -o tout tinset.cpp test.o $(LDFLAGS) $(VLDLIBS)
+ #test tout
./tout -v < $(srcdir)/corba.gperf > corba.out
-diff -b $(srcdir)/corba.exp corba.out
# these next 5 are demos that show off the generated code
@@ -91,9 +214,9 @@ all:
-diff -b $(srcdir)/test-7.exp test-7.out
realclean:
- $(RM) -rf *.out cinset.cpp c++inset.cpp iinset.cpp tinset.cpp \
- pinset.cpp m3inset.cpp adainset.cpp preinset.cpp
- $(RM) -rf c.out aout preout m3out pout cout c++out iout tout
+ $(RM) -rf *.out cinset.cpp c++inset.cpp iinset.cpp iinset2.cpp \
+ tinset.cpp pinset.cpp m3inset.cpp adainset.cpp preinset.cpp
+ $(RM) -rf c.out aout preout m3out pout cout c++out iout iout2 tout
# DO NOT DELETE THIS LINE -- g++dep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
@@ -101,6 +224,8 @@ realclean:
.obj/test.o .obj/test.so .shobj/test.o .shobj/test.so: test.cpp \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -112,5 +237,14 @@ realclean:
$(ACE_ROOT)/ace/ACE.i \
$(ACE_ROOT)/ace/Log_Priority.h \
$(ACE_ROOT)/ace/Log_Record.i
+.obj/cinset.o .obj/cinset.so .shobj/cinset.o .shobj/cinset.so: cinset.cpp
+c++.obj/inset.o .obj/inset.so .shobj/inset.o .shobj/inset.so: c++inset.cpp
+.obj/iinset.o .obj/iinset.so .shobj/iinset.o .shobj/iinset.so: iinset.cpp
+.obj/iinset2.o .obj/iinset2.so .shobj/iinset2.o .shobj/iinset2.so: iinset2.cpp
+.obj/tinset.o .obj/tinset.so .shobj/tinset.o .shobj/tinset.so: tinset.cpp
+.obj/pinset.o .obj/pinset.so .shobj/pinset.o .shobj/pinset.so: pinset.cpp
+.obj/m3inset.o .obj/m3inset.so .shobj/m3inset.o .shobj/m3inset.so: m3inset.cpp
+.obj/adainset.o .obj/adainset.so .shobj/adainset.o .shobj/adainset.so: adainset.cpp
+.obj/preinset.o .obj/preinset.so .shobj/preinset.o .shobj/preinset.so: preinset.cpp
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY