help-make
[Top][All Lists]
Advanced

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

RE: warning with recursive gmakes and -j<integer> option


From: Asperheim, Eric
Subject: RE: warning with recursive gmakes and -j<integer> option
Date: Mon, 11 Jun 2001 17:16:49 -0700

All,

The issue below is more critical than I may have shown originally since a
real run, i.e. a run where the targets are not up-to-date, fails with the
following kinds of errors:

gmake[1]: Leaving directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/easperhe/syn/c/v99'
gmake: *** [../../c/v99/dbs/c.db] Error 2
gmake: *** Waiting for unfinished jobs....

Thanks,

Eric


-----Original Message-----
From: Asperheim, Eric [mailto:address@hidden
Sent: Monday, June 11, 2001 12:19 PM
To: 'address@hidden'
Subject: warning with recursive gmakes and -j<integer> option


Hi,

1. There seems to be some issue when using recursive gmakes in parallel (-j
switch) with a limit on the parallelism (-j <integer>). If I use just the -j
option (no integer - unlimited parallelism), I get the following (test case
has 3 targets: a.db, b.db, and c.db)

fhc2349:easperhe gmake -j
gmake[1]: Entering directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/a/v23'
gmake[1]: `dbs/a.db' is up to date.
gmake[1]: Leaving directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/a/v23'
gmake[1]: Entering directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/b/v23'
gmake[1]: `dbs/b.db' is up to date.
gmake[1]: Leaving directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/b/v23'
gmake[1]: Entering directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/c/v23'
gmake[1]: `dbs/c.db' is up to date.
gmake[1]: Leaving directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/c/v23'

But if I supply an integer to the -j option, I get 
  warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.

fhc2349:easperhe gmake -j10
gmake[1]: Entering directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/a/v23'
gmake[1]: warning: jobserver unavailable: using -j1.  Add `+' to parent make
rule.
gmake[1]: `dbs/a.db' is up to date.
gmake[1]: Leaving directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/a/v23'
gmake[1]: Entering directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/c/v23'
gmake[1]: warning: jobserver unavailable: using -j1.  Add `+' to parent make
rule.
gmake[1]: Entering directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/b/v23'
gmake[1]: warning: jobserver unavailable: using -j1.  Add `+' to parent make
rule.
gmake[1]: `dbs/c.db' is up to date.
gmake[1]: Leaving directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/c/v23'
gmake[1]: `dbs/b.db' is up to date.
gmake[1]: Leaving directory
`/pcd/s139/syncap_env/ASICsyn/proj_syn/work/syn/easperhe/b/v23'

I read about this warning in the gmake docs. I don't know why the parent
gmake wouldn't know that a child is a gmake with -j10 option and it would
know the child is a gmake with -j option. I'm using the (MAKE) variable to
launch the child gmake:

#       @ $(MAKE) $(DB)$(notdir $@) -C $(subst $(DB)$(notdir $@),,$@)
        +@ cd $(subst $(DB)$(notdir $@),,$@) && $(MAKE) $(DB)$(notdir $@)

I've tried both forms (with cd and -C option) and neither works. 

Any ideas or is this a known bug with gmake?

Thanks,

Eric


Eric Asperheim  -  GCD Design
phone: (916) 356-4624 
Intel Corporation, FM6-81
fax: (916) 356-3051 
1900 Prairie City Rd, Folsom, CA 95630
address@hidden
----------------------------------------------------------------------------
--------------------------------- 




_______________________________________________
Help-make mailing list
address@hidden
http://mail.gnu.org/mailman/listinfo/help-make




reply via email to

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