bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Make recursion does not appear working in VMS


From: h.becker
Subject: Re: Make recursion does not appear working in VMS
Date: Thu, 13 Mar 2014 14:14:28 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130519 Icedove/17.0.5

On 03/13/2014 01:17 PM, John E. Malmberg wrote:
> EAGLE> del 1.inc;,2.inc;
> EAGLE>
> EAGLE>
> EAGLE> make -f /lcl_root/make/tests/work/features/parallelism.mk_2 "-j4"
> THREE.inc
> ONE.inc
> TWO.inc
> make: execve: make: no such file or directory
> /lcl_root/make/tests/work/features/parallelism.mk_2:2: recipe for target
> 'recurse' failed
> make: *** [recurse] Error 0xbf2bffbc
> 
> Or if you prefer:
> 
> EAGLE> del 1.inc;,2.inc;
> EAGLE> make -f [.work.features]parallelism.mk_2 "-j4"
> THREE.inc
> ONE.inc
> TWO.inc
> make: execve: make: no such file or directory
> [.work.features]parallelism.mk_2:2: recipe for target 'recurse' failed
> make: *** [recurse] Error 0xbf2bffbc

It looks like execve uses argv[0] to run make.

With a VMS/DCL-style version of the Makefile and my mcr version of make
it seems to work:

$ del %.inc;*
$ mc [.make]mcr -f parallelism.mk_2 -j4
THREE.inc
ONE.inc
TWO.inc
ONE
TWO
THREE
success
$
$ del %.inc;*
$ mc [.make]mcr -nf parallelism.mk_2 -j4
mcr eisner$lda2:[usr_ods5.][becker_h.make.make]mcr.exe;1
--no-print-directory -f parallelism.mk_2 "INC=yes" all
THREE.inc
ONE.inc
TWO.inc
ONE
TWO
THREE
success
$

$ type parallelism.mk_2
recurse : ; @$(MAKE) --no-print-directory -f parallelism.mk_2 "INC=yes" all
all : 1 2 ; @write sys$$output "success "

INC = no
ifeq ($(INC),yes)
-include 1.inc 2.inc
endif

1.inc : ; @pipe write sys$$output "ONE.inc" ; wait 0:0:2 ; write
sys$$output "TWO.inc" ; define sys$$output $@ ; write sys$$output "1 : ;
@pipe write sys$$$$output ""ONE"" ; wait 0:0:2 ; write sys$$$$output
""TWO""" ; close sys$$output
2.inc : ; @pipe wait 0:0:1 ; write sys$$output "THREE.inc" ; define
sys$$output $@ ; write sys$$output "2: ; @pipe wait 0:0:1 ; write
sys$$$$output ""THREE""" ; close sys$$output

$




reply via email to

[Prev in Thread] Current Thread [Next in Thread]