#
# Makefile
-# Copyright (C) 1999
-# Free Software Foundation
+# Copyright (C) 1999-2019 Free Software Foundation, Inc.
#
# This file is part of the libiberty library.
# Libiberty is free software; you can redistribute it and/or
#
# You should have received a copy of the GNU Library General Public
# License along with libiberty; see the file COPYING.LIB. If not,
-# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
#
# This file was written by Tom Tromey <tromey@cygnus.com>.
CC = @CC@
CFLAGS = @CFLAGS@
-LIBCFLAGS = $(CFLAGS)
+LIBCFLAGS = $(CFLAGS) $(LDFLAGS)
# Multilib support variables.
MULTISRCTOP =
all:
+# CHECK is set to "really_check" or the empty string by configure.
check: @CHECK@
+really-check: check-cplus-dem check-d-demangle check-rust-demangle \
+ check-pexecute check-expandargv check-strtol
+
# Run some tests of the demangler.
-check-cplus-dem: test-filter $(srcdir)/demangle-expected
- $(SHELL) $(srcdir)/regress-demangle $(srcdir)/demangle-expected
+check-cplus-dem: test-demangle $(srcdir)/demangle-expected
+ ./test-demangle < $(srcdir)/demangle-expected
+
+check-d-demangle: test-demangle $(srcdir)/d-demangle-expected
+ ./test-demangle < $(srcdir)/d-demangle-expected
+
+check-rust-demangle: test-demangle $(srcdir)/rust-demangle-expected
+ ./test-demangle < $(srcdir)/rust-demangle-expected
+
+# Check the pexecute code.
+check-pexecute: test-pexecute
+ ./test-pexecute
+
+# Check the expandargv functionality
+check-expandargv: test-expandargv
+ ./test-expandargv
+
+# Check the strtol functionality
+check-strtol: test-strtol
+ ./test-strtol
+
+# Run the demangler fuzzer
+fuzz-demangler: demangler-fuzzer
+ ./demangler-fuzzer
-# Note that we just hard-code prepends_underscore to 0. This doesn't
-# matter since any particular test can override the default if need
-# be.
TEST_COMPILE = $(CC) @DEFS@ $(LIBCFLAGS) -I.. -I$(INCDIR) $(HDEFINES)
-test-filter: $(srcdir)/../cplus-dem.c
- echo 'int prepends_underscore = 0;' > test-us.c
- $(TEST_COMPILE) -o test-filter -DMAIN -DVERSION='"none"' @DEFS@ \
- $(srcdir)/../cplus-dem.c test-us.c -L.. -liberty
+test-demangle: $(srcdir)/test-demangle.c ../libiberty.a
+ $(TEST_COMPILE) -o test-demangle \
+ $(srcdir)/test-demangle.c ../libiberty.a
+
+test-pexecute: $(srcdir)/test-pexecute.c ../libiberty.a
+ $(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-pexecute \
+ $(srcdir)/test-pexecute.c ../libiberty.a
+
+test-expandargv: $(srcdir)/test-expandargv.c ../libiberty.a
+ $(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-expandargv \
+ $(srcdir)/test-expandargv.c ../libiberty.a
+test-strtol: $(srcdir)/test-strtol.c ../libiberty.a
+ $(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-strtol \
+ $(srcdir)/test-strtol.c ../libiberty.a
+
+demangler-fuzzer: $(srcdir)/demangler-fuzzer.c ../libiberty.a
+ $(TEST_COMPILE) -o demangler-fuzzer \
+ $(srcdir)/demangler-fuzzer.c ../libiberty.a
# Standard (either GNU or Cygnus) rules we don't use.
-info install-info clean-info dvi install etags tags installcheck:
+html install-html info install-info clean-info dvi pdf install-pdf \
+install etags tags installcheck:
# The standard clean rules.
mostlyclean:
- rm -f test-us.c test-filter
+ rm -f test-demangle
+ rm -f test-pexecute
+ rm -f test-expandargv
+ rm -f test-strtol
+ rm -f demangler-fuzzer
+ rm -f core
clean: mostlyclean
distclean: clean
rm -f Makefile
maintainer-clean realclean: distclean
-
Makefile: $(srcdir)/Makefile.in ../config.status
CONFIG_FILES=testsuite/Makefile CONFIG_HEADERS= \
cd .. && $(SHELL) ./config.status