[DVDnav-discuss] parallel make problem

Dominik 'Rathann' Mierzejewski dominik at greysector.net
Sun Aug 31 02:51:55 CEST 2008


On Saturday, 30 August 2008 at 22:44, Dominik 'Rathann' Mierzejewski wrote:
> On Saturday, 30 August 2008 at 20:20, Dominik 'Rathann' Mierzejewski wrote:
> > On Saturday, 30 August 2008 at 19:56, Dominik 'Rathann' Mierzejewski wrote:
> > > On Saturday, 30 August 2008 at 19:19, Dan Nicholson wrote:
> > > > On Sat, Aug 30, 2008 at 10:03 AM, Dominik 'Rathann' Mierzejewski
> > > > <dominik at greysector.net> wrote:
> > > > > On Saturday, 30 August 2008 at 17:30, Dan Nicholson wrote:
> > > > >> On Sat, Aug 30, 2008 at 7:05 AM, Dominik 'Rathann' Mierzejewski
> > > > >> <dominik at greysector.net> wrote:
> > > > >> > I'm experiencing a problem with make -j2:
> > > > > [...]
> > > > >> > But I'd rather have a proper fix instead of workarounds.
> > > > >> > Ideas?
> > > > >>
> > > > >> You really don't want to have a target dependent on a directory
> > > > >> because make will always think the target is out of date.
> > > > >
> > > > > On second thought, why? If it's created by that rule, it should behave
> > > > > just like any other file.
> > > > >
> > > > >> That prevents doing the right thing:
> > > > >>
> > > > >> $(OBJS) $(DVDREAD_OBJS) $(SHOBJS) $(DVDREAD_SHOBJS): $(.OBJDIR)
> > > > >
> > > > > Actually this seems to work fine.
> > > > 
> > > > Run `make' again. Because the timestamp of the directory doesn't get
> > > > updated, make will always think the directory is out of date. This
> > > > leads to everything always been rebuilt. If that's something you can
> > > > deal with, then this is the way to go.
> > > 
> > > Ah, I see what you mean. It wouldn't be a problem for one-time builds,
> > > but it's not acceptable in general.
> > > 
> > > How about we drop this obj dir creation alltogether and just keep an
> > > empty dir in the sources?
> > > 
> > > Patch attached (along with svn mkdir obj).
> > 
> > I've just noticed it won't work for out-of-tree builds. Maybe we could
> > mkdir obj in configure(2) then?
> 
> And here's the complete patch:

I'll commit this and an equivalent patch to libdvdnav after I wake up.
I've tested it with in- and out-of-tree builds and it seems fine.
Also it's the cleanest solution IMHO. Autotools buildsys is unaffected.

Regards,
R.

-- 
Fedora http://fedoraproject.org/wiki/User:Rathann
Livna http://rpm.livna.org | MPlayer http://mplayerhq.hu
"Faith manages."
        -- Delenn to Lennier in Babylon 5:"Confessions and Lamentations"



More information about the DVDnav-discuss mailing list