Add run-one-test convenience target and makefile help text

Adds "make test" for re-running just one test.  Also adds
"make help" for help with our Makefile targets, and adds a
mini-help when you just run "make".

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
DJ Delorie 2019-09-30 16:04:52 -04:00
parent 720e9541f5
commit 2ac579f9c2
2 changed files with 62 additions and 2 deletions

View File

@ -26,8 +26,17 @@ include Makeconfig
# This is the default target; it makes everything except the tests.
.PHONY: all
all: lib others
.PHONY: all help minihelp
all: minihelp lib others
help:
@sed '0,/^help-starts-here$$/d' Makefile.help
minihelp:
@echo
@echo type \"make help\" for help with common glibc makefile targets
@echo
ifneq ($(AUTOCONF),no)
@ -669,3 +678,12 @@ FORCE:
iconvdata/% localedata/% po/%: FORCE
$(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F)
# Convenience target to rerun one test, from the top of the build tree
# Example: make test t=wcsmbs/test-wcsnlen
.PHONY: test
test :
@-rm -f $(objpfx)$t.out
$(MAKE) subdir=$(dir $t) -C $(dir $t) ..=../ $(objpfx)$t.out
@cat $(objpfx)$t.test-result
@cat $(objpfx)$t.out

42
Makefile.help Normal file
View File

@ -0,0 +1,42 @@
# Copyright (C) 2019 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# The GNU C Library 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
# Lesser General Public License for more details.
# You should have received a copy of the GNU Lesser General Public
# License along with the GNU C Library; if not, see
# <https://www.gnu.org/licenses/>.
This is the file that gets printed when the user runs "make help",
starting just after the "help-starts-here" line.
help-starts-here
all
The usual default; builds everything but doesn't run the
tests.
check (or tests)
Runs the standard set of tests.
test
Runs one test. Use like this:
make test t=wcsmbs/test-wcsnlen
Note that this will rebuild the test if needed, but will not
rebuild what "make all" would have rebuilt.
--
Other useful hints:
builddir$ rm testroot.pristine/install.stamp
Forces the testroot to be reinstalled the next time you run
the testsuite (or just rm -rf testroot.pristine)