Index: dmake/make.c =================================================================== RCS file: /cvs/tools/dmake/make.c,v retrieving revision 1.5.6.6 diff -u -r1.5.6.6 make.c --- dmake/make.c 4 Jan 2006 04:07:16 -0000 1.5.6.6 +++ dmake/make.c 21 Jan 2006 17:15:11 -0000 @@ -237,7 +237,7 @@ char *inf = NIL(char); char *outall = NIL(char); char *imm = NIL(char); - int rval = 0; + int rval = 0; /* 0==ready, 1==target still running, -1==error */ int push = 0; int made = F_MADE; int ignore; @@ -576,6 +576,8 @@ else printf( "[%s]\n", cp->CE_NAME ); } + printf("s target %lu %s\n", Do_time(), cp->CE_NAME); + fflush(stdout); m_at = Def_macro( "@", cp->ce_fname, M_MULTI ); m_g = Def_macro( ">", cp->ce_lib, M_MULTI|M_EXPANDED ); @@ -979,10 +981,10 @@ Execute the commands one at a time that are pointed to by the rules pointer of the target cp. If a group is indicated, then the ce_attr determines .IGNORE and .SILENT treatment for the group. - + The function returns 0, if the command is executed and has successfully - returned, and returns 1 if the command is executing but has not yet - returned (for parallel makes). + returned, and it returns 1 if the command is executing but has not yet + returned or -1 if an error occured (Return value from Do_cmnd()). The F_MADE bit in the cell is guaranteed set when the command has successfully completed. */ Index: dmake/sysintf.c =================================================================== RCS file: /cvs/tools/dmake/sysintf.c,v retrieving revision 1.6.2.5 diff -u -r1.6.2.5 sysintf.c --- dmake/sysintf.c 15 Dec 2005 20:04:05 -0000 1.6.2.5 +++ dmake/sysintf.c 21 Jan 2006 17:15:11 -0000 @@ -219,7 +219,8 @@ /* NOTE: runargv must return either 0 or 1, 0 ==> command executed, and * we waited for it to return, 1 ==> command started and is running - * concurrently with make process. */ + * concurrently with make process or -1 if something failed. */ + /* NOTE2: runargv currently always returns 1 (possible speed up) or -1. */ return(i); } @@ -782,6 +783,9 @@ if( Verbose & V_MAKE ) printf( "%s: <<<< Set [%s] time stamp to %lu\n", Pname, tcp->CE_NAME, tcp->ce_time ); + + printf("e target %lu %s\n", Do_time(), tcp->CE_NAME); + fflush(stdout); Unlink_temp_files( tcp ); tcp->ce_flag |= F_MADE; Index: dmake/unix/runargv.c =================================================================== RCS file: /cvs/tools/dmake/unix/runargv.c,v retrieving revision 1.8.6.7 diff -u -r1.8.6.7 runargv.c --- dmake/unix/runargv.c 11 Oct 2005 17:39:40 -0000 1.8.6.7 +++ dmake/unix/runargv.c 21 Jan 2006 17:15:11 -0000 @@ -175,7 +175,7 @@ /* Any Fatal call can potentially loop by recursion because we * are called from the Quit routine that Fatal indirectly calls * since Fatal should not happen I have left this bug in here */ - while( _proc_cnt == Max_proc ) { + while( _proc_cnt == Max_proc ) { /* This forces sequential execution for Max_proc == 1. */ if( Wait_for_child(FALSE, -1) == -1 ) { if( ! in_quit() || errno != ECHILD ) Fatal( "Lost a child %d: %s", errno, strerror( errno ) ); @@ -298,6 +298,10 @@ TALLOC( _procs, Max_proc, PR ); } + printf("s recipe %lu %s\n", Do_time(), target->CE_NAME); + fflush(stdout); + + /* If _use_i!=-1 then this function is called by _finished_child() */ if( (i = _use_i) == -1 ) for( i=0; iCE_NAME); + fflush(stdout); + _proc_cnt--; dir = DmStrDup(Get_current_dir()); Set_dir( _procs[i].pr_dir ); @@ -357,6 +365,7 @@ _procs[i].pr_recipe = rp->prp_next; _use_i = i; + /* Run next recipe line. */ runargv( _procs[i].pr_target, rp->prp_ignore, rp->prp_group, rp->prp_last, rp->prp_shell, rp->prp_cmd ); _use_i = -1;