1# 2# Makefile 3# Copyright (C) 1999-2019 Free Software Foundation, Inc. 4# 5# This file is part of the libiberty library. 6# Libiberty is free software; you can redistribute it and/or 7# modify it under the terms of the GNU Library General Public 8# License as published by the Free Software Foundation; either 9# version 2 of the License, or (at your option) any later version. 10# 11# Libiberty is distributed in the hope that it will be useful, 12# but WITHOUT ANY WARRANTY; without even the implied warranty of 13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14# Library General Public License for more details. 15# 16# You should have received a copy of the GNU Library General Public 17# License along with libiberty; see the file COPYING.LIB. If not, 18# write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 19# Boston, MA 02110-1301, USA. 20# 21 22# This file was written by Tom Tromey <tromey@cygnus.com>. 23 24# 25# Makefile for libiberty/testsuite directory 26# 27 28srcdir = @srcdir@ 29VPATH = @srcdir@ 30 31SHELL = @SHELL@ 32 33CC = @CC@ 34CFLAGS = @CFLAGS@ 35LIBCFLAGS = $(CFLAGS) $(LDFLAGS) 36 37# Multilib support variables. 38MULTISRCTOP = 39 40INCDIR=$(srcdir)/../$(MULTISRCTOP)../include 41 42all: 43 44# CHECK is set to "really_check" or the empty string by configure. 45check: @CHECK@ 46 47really-check: check-cplus-dem check-d-demangle check-rust-demangle \ 48 check-pexecute check-expandargv check-strtol 49 50# Run some tests of the demangler. 51check-cplus-dem: test-demangle $(srcdir)/demangle-expected 52 ./test-demangle < $(srcdir)/demangle-expected 53 54check-d-demangle: test-demangle $(srcdir)/d-demangle-expected 55 ./test-demangle < $(srcdir)/d-demangle-expected 56 57check-rust-demangle: test-demangle $(srcdir)/rust-demangle-expected 58 ./test-demangle < $(srcdir)/rust-demangle-expected 59 60# Check the pexecute code. 61check-pexecute: test-pexecute 62 ./test-pexecute 63 64# Check the expandargv functionality 65check-expandargv: test-expandargv 66 ./test-expandargv 67 68# Check the strtol functionality 69check-strtol: test-strtol 70 ./test-strtol 71 72# Run the demangler fuzzer 73fuzz-demangler: demangler-fuzzer 74 ./demangler-fuzzer 75 76TEST_COMPILE = $(CC) @DEFS@ $(LIBCFLAGS) -I.. -I$(INCDIR) $(HDEFINES) 77test-demangle: $(srcdir)/test-demangle.c ../libiberty.a 78 $(TEST_COMPILE) -o test-demangle \ 79 $(srcdir)/test-demangle.c ../libiberty.a 80 81test-pexecute: $(srcdir)/test-pexecute.c ../libiberty.a 82 $(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-pexecute \ 83 $(srcdir)/test-pexecute.c ../libiberty.a 84 85test-expandargv: $(srcdir)/test-expandargv.c ../libiberty.a 86 $(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-expandargv \ 87 $(srcdir)/test-expandargv.c ../libiberty.a 88 89test-strtol: $(srcdir)/test-strtol.c ../libiberty.a 90 $(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-strtol \ 91 $(srcdir)/test-strtol.c ../libiberty.a 92 93demangler-fuzzer: $(srcdir)/demangler-fuzzer.c ../libiberty.a 94 $(TEST_COMPILE) -o demangler-fuzzer \ 95 $(srcdir)/demangler-fuzzer.c ../libiberty.a 96 97# Standard (either GNU or Cygnus) rules we don't use. 98html install-html info install-info clean-info dvi pdf install-pdf \ 99install etags tags installcheck: 100 101# The standard clean rules. 102mostlyclean: 103 rm -f test-demangle 104 rm -f test-pexecute 105 rm -f test-expandargv 106 rm -f test-strtol 107 rm -f demangler-fuzzer 108 rm -f core 109clean: mostlyclean 110distclean: clean 111 rm -f Makefile 112maintainer-clean realclean: distclean 113 114Makefile: $(srcdir)/Makefile.in ../config.status 115 CONFIG_FILES=testsuite/Makefile CONFIG_HEADERS= \ 116 cd .. && $(SHELL) ./config.status 117