From: Michael Lukashov Date: Sat, 27 Feb 2010 21:40:41 GMT Subject: Re: [PATCH] Makefile: fix compilation of test programs under MinGW environment Message-ID: <63cde7731002271340k5c26e064r8b7cc4a53b435e95@mail.gmail.com> In-Reply-To: <7vy6ietlf7.fsf@alter.siamese.dyndns.org> Hi, On Sun, Feb 28, 2010 at 12:31 AM, Junio C Hamano wrote: > Michael Lukashov writes: > >> Commit 225f78c8 (Merge branch 'master' of git://repo.or.cz/alt-git >> into jn/autodep, 2010-01-26) changed Makefile in such a way that >> the following error occurs when trying to compile Git under MinGW environment: >> >>   make: *** No rule to make target `test-chmtime', needed by `all'.  Stop. >> >> Under Linux it seems there's no difference between two variants. > >> -TEST_PROGRAMS := $(patsubst %,%$X,$(TEST_PROGRAMS_NEED_X)) >> +TEST_PROGRAMS = $(patsubst %,%$X,$(TEST_PROGRAMS_NEED_X)) > > If the difference were on the RHS of this definition, which does involve > $X that is different between the two platforms, I would understand, but > your patch looks like it is addressing difference between := vs =, and > that is more like a difference of other parts of the Makefile than > difference between Linux and mingw compilation environment. > > Does mingw build add other instances of TEST_PROGRAMS definition to the > Makefile, or perhaps have other means (e.g. ./build.sh runs make with > TEST_PROGRAMS set to something else) to affect it? > No. > Or somewhere other than the main makefile, do you have an explicit "make > test-chmtime" (not "make test-chmtime.exe") that tries to make sure that > the build is done? > > No. Before commit 225f78c8 definition of TEST_PROGRAMS was: TEST_PROGRAMS = $(patsubst %,%$X,$(TEST_PROGRAMS_NEED_X)) After commit 225f78c8 definition of TEST_PROGRAMS changed to TEST_PROGRAMS := $(patsubst %,%$X,$(TEST_PROGRAMS_NEED_X)) And it leads to compilation error.