[PATCH] build: check .git directory existence in srcdir (for out-of-tree builds)
Tomi Ollila
tomi.ollila at iki.fi
Sun Jul 6 12:50:25 PDT 2014
On Sat, Jul 05 2014, David Bremner <david at tethera.net> wrote:
> Tomi Ollila <tomi.ollila at iki.fi> writes:
>
>> So that $(VERSION) and version.stamp uses the git-describe -based
>> version data instead of the content of `version' file.
>>
>> For consistency also the git commands in Makefile[.local] target
>> `verify-no-dirty-code' uses the git --git-dir=$srcdir/.git ...
>> commands (inside ifeq($(IS_GIT),yes)). Attempting to make this
>> target outside of the tree will fail in any case.
>
> This seems to work OK; I wondered if an alternate method of setting (and
> exporting) GIT_DIR from the top level makefile would work as well, and
> be less intrusive?
This looked like a good idea, and I tested it. But -- lo and behold --
the environment variables set in Makefile do not probagate to the
commands executed with $(shell ...) -- see (*) (I wrapped git(1) in a shell
script (executes env then execs real git) to verify this is still the case).
I thoght now a bit whether we'd use variable in place of ${srcdir}/.git
but IMHO is better in this way:
- make does not have option to warn/die in case variable undefined,
it is then just empty string so no internal error checking there
- any human observer notices from the ${srcdir}/.git that we're not
using git from any nonstandard place -- if there were variable one
would have needed to dereference that to figure out this is the case.
(*) http://www.cmcrossroads.com/article/basics-getting-environment-variables-gnu-make?page=0%2C1
>
> d
Tomi
More information about the notmuch
mailing list