mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-12-28 15:57:48 +00:00
5bd7ad2b22
Previously if the jobserver was active, MAKEFLAGS would contain only the -j option but not the number (not -j5 or whatever) so users could not discover that value. Allow that value to be provided in MAKEFLAGS without error but still give warnings if -jN is provided on the command line if the jobserver is already activated. * NEWS: Discuss the new behavior. * os.h, posixos.c, w32/w32os.c: Return success/failure from jobserver_setup() and jobserver_parse_auth(). * main.c (main): Separate the command line storage of job slots (now in arg_job_slots) from the control storage (in job_slots). Make a distinction between -jN flags read from MAKEFLAGS and those seen on the command line: for the latter if the jobserver is enabled then warn and disable it, as before. * tests/scripts/features/jobserver: Add new testing.
45 lines
1.2 KiB
Perl
45 lines
1.2 KiB
Perl
# -*-perl-*-
|
|
|
|
$description = "Test proper behavior of MAKEFLAGS";
|
|
|
|
$details = "DETAILS";
|
|
|
|
# Normal flags aren't prefixed with "-"
|
|
run_make_test(q!
|
|
all: ; @echo $(MAKEFLAGS)
|
|
!,
|
|
'-e -r -R', 'erR');
|
|
|
|
# Long arguments mean everything is prefixed with "-"
|
|
run_make_test(q!
|
|
all: ; @echo $(MAKEFLAGS)
|
|
!,
|
|
'--no-print-directory -e -r -R --trace', "#MAKEFILE#:2: target 'all' does not exist
|
|
echo erR --trace --no-print-directory
|
|
erR --trace --no-print-directory");
|
|
|
|
|
|
# Recursive invocations of make should accumulate MAKEFLAGS values.
|
|
# Savannah bug #2216
|
|
run_make_test(q!
|
|
MSG = Fails
|
|
all:
|
|
@echo '$@: MAKEFLAGS=$(MAKEFLAGS)'
|
|
@MSG=Works $(MAKE) -e -f #MAKEFILE# jump
|
|
jump:
|
|
@echo '$@ $(MSG): MAKEFLAGS=$(MAKEFLAGS)'
|
|
@$(MAKE) -f #MAKEFILE# print
|
|
print:
|
|
@echo '$@ $(MSG): MAKEFLAGS=$(MAKEFLAGS)'
|
|
.PHONY: all jump print
|
|
!,
|
|
'--no-print-directory',
|
|
'all: MAKEFLAGS= --no-print-directory
|
|
jump Works: MAKEFLAGS=e --no-print-directory
|
|
print Works: MAKEFLAGS=e --no-print-directory');
|
|
|
|
1;
|
|
|
|
### Local Variables:
|
|
### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action))
|
|
### End:
|