[FFmpeg-devel] [PATCH] Non-recursive makefiles

Måns Rullgård mans
Fri Apr 11 10:35:02 CEST 2008


"Axel Holzinger" <aholzinger at gmx.de> writes:

> Hi Diego,
>
> Diego Biurrun wrote:
>> On Thu, Apr 10, 2008 at 06:19:55PM +0200, Axel Holzinger wrote:
>> > Axel Holzinger wrote:
>> > > 
>> > > Victor Paesa wrote:
>> > > >
>> > > > M?ns Rullg?rd said:
>> > > > >
>> > > > > Fixed.  Can you please confirm on cygwin?
>> > > >
>> > > > Thanks, now it works OK for me on Cygwin.
>> > > 
>> > > Unfortunately doesn't work on Msys/Mingw:
>> > > 
>> > > $ ./configure --enable-static --enable-memalign-hack
>> > > 
>> > > $ make
>> > > make: *** No rule to make target 
>> `libavdevice/libavdevice.a', needed 
>> > > by `all'.  Stop.
>> > > 
>> > > ffmpeg r12781
>> > 
>> > The makes oft he different libs work fine, when called directly:
>> > $ cd libavdevice
>> > $ make
>> > 
>> > When all libs are built, the FFmpeg make works and FFmpeg is
> built.
>> > 
>> > Is there perhaps a problem with the paths in the makefile 
>> for FFmpeg 
>> > so that the lib makefiles aren't found for some reason?
>> 
>> Do you have spaces somewhere in your path?
>
> No, not at all.
>
> I thought it might have something to do with my FFmpeg directory
> residing on a different drive (path something like /F/bla/ffmpeg) and
> so I digged a little into make and looked at the make internals (make
> -p) and saw that there are several paths that look like f: which
> msysys won't like. So I moved the whole directory to
> /home/myusername/ffmpeg, but same result.
>
> I then noticed that there is a newer make in Mingw. And I found out
> that the different make versions all behave differently with the
> FFmpeg makefile.
>
> In the past I could build FFmpeg without a problem with make 3.79, so
> it is quite probable that a change in the makefile (or configure
> script) made Mingw (at least some installations) behave nasty.
>
> I used make 3.79 in the past and only with 3.79 I can build FFmpeg by
> manually building the libs and then building FFmpeg afterwards. This
> works as a workaround.

3.79 is *very* old.  I have made no attempt to support anything older
than 3.81.  I haven't knowingly used any new features either, but I
only looked at the latest manual.

> With make 3.81-20080326, make is starting the build, but I get several
> errors 'missing binary operator before token "("'.
>
> Make 3.81-2 behaves different, but build still doesn't work (I'm
> writing this on a different location, so I don't have the details,
> will send them later today).

I'll need much more details.  Please send your config.err, config.mak,
and full stdout/stderr output from running make.

> I'm willing to test this thorougly and report results. If you (or
> anybody of the FFmpeg developers) think that this is a user thread
> (because we are talking about building FFmpeg), please feel free to
> tell me and I will change over to ffmpeg-user. I think because a
> chnage in the makefile/configure script broke FFmpeg build (at least
> on Mingw on my system) there might be an issue in the configure
> script.

This is the right place.

> For the records: With make 3.79 building separately works. This isn't
> possible with make 3.81-2 nor latest 3.81-20080326.

make 3.81 as installed by Gentoo works perfectly fine.  Do you have
any windows-style (c:/path/to/file) filenames mentioned?  Some
versions of make seem to cope with these, others not.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-devel mailing list