[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Mingw-cross-env-list] setting PKGS does not work
From: |
Tony Theodore |
Subject: |
Re: [Mingw-cross-env-list] setting PKGS does not work |
Date: |
Thu, 10 May 2012 00:22:10 +1000 |
On 09/05/2012, at 7:55 PM, Moritz Bunkus wrote:
> Hey,
>
> alright, setting PKGS does not work on current git master without a
> settings.mk, and my Makefile-Fu is not strong enough to fix it:
>
> [0 address@hidden (official) ~/prog/video/mingw/cross-git] make
> PKGS='binutils gcc gcc-gmp gcc-mpc gcc-mpfr w32api mingwrt'
> [create settings.mk]
> [build] gcc
>
> Failed to build package gcc!
> ------------------------------------------------------------
> make[1]: Entering directory `/home/mosu/prog/video/mingw/cross-git'
> make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent
> make rule.
> Makefile:199: *** Unknown archive format:
> /home/mosu/prog/video/mingw/cross-git/pkg/. Stop.
> ...
>
> (Note that I've downloaded the packages before, therefore that step is
> not listed here)
Hi Mo,
I'm probably not being clear on targets vs variables - mostly because Make
continues to twist my mind whenever I look into it, and I'm not sure there is a
real difference :-)
I don't know what the above error is about, but the invocation I was thinking
of is:
make gcc gcc_VERSION=x.y.z gcc_CHECKSUM=a1b2c3...
^ ^ ^
target variable variable
When you specify PKGS, you are changing a variable that will potentially mess
up Make's dependency resolution. Note the target is somewhat orthogonal to the
variables, you can place a line like:
make -C /path/to/mxe qt wxwidgets gcc_VERSION=4.6.2
gcc_CHECKSUM=691974613b1c1f15ed0182ec539fa54a12dd6f93
in any shell script (or at the command line), and it will (download and) build:
-qt, wxwidgets (and all dependencies) - the targets set by the Makefile
-using gcc 4.6.2 - the over-ridden variables
I may not be explaining it well, but try the above command (with nothing but
JOBS and/or SOURCEFORGE_MIRROR in settings.mk). The reason I like this approach
is that you can keep your own minor customisations completely separate. In the
past, I've often used Volker's "Makefile" as general purpose
fetch-checksum-build-log tool; it excels at this.
Cheers,
Tony