From: Johannes Sixt Date: Tue, 06 Nov 2018 21:44:07 GMT Subject: Re: [PATCH 1/1] Windows: force-recompile git.res for differing architectures Message-ID: In-Reply-To: <87794514ef3a83f95d81f89287b81aeed5c92296.1541516148.git.gitgitgadget@gmail.com> Am 06.11.18 um 15:55 schrieb Johannes Schindelin via GitGitGadget: > From: Johannes Schindelin > > When git.rc is compiled into git.res, the result is actually dependent > on the architecture. That is, you cannot simply link a 32-bit git.res > into a 64-bit git.exe. > > Therefore, to allow 32-bit and 64-bit builds in the same directory, we > let git.res depend on GIT-PREFIX so that it gets recompiled when > compiling for a different architecture (this works because the exec path > changes based on the architecture: /mingw32/libexec/git-core for 32-bit > and /mingw64/libexec/git-core for 64-bit). On Linux, when I recompile for a different architecture, CFLAGS would change, so I would have thought that GIT-CFLAGS were the natural choice for a dependency. Don't they change in this case on Windows, too? > > Signed-off-by: Johannes Schindelin > --- > Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Makefile b/Makefile > index bbfbb4292d..8375736c32 100644 > --- a/Makefile > +++ b/Makefile > @@ -2110,7 +2110,7 @@ $(SCRIPT_LIB) : % : %.sh GIT-SCRIPT-DEFINES > $(QUIET_GEN)$(cmd_munge_script) && \ > mv $@+ $@ > > -git.res: git.rc GIT-VERSION-FILE > +git.res: git.rc GIT-VERSION-FILE GIT-PREFIX > $(QUIET_RC)$(RC) \ > $(join -DMAJOR= -DMINOR= -DMICRO= -DPATCHLEVEL=, $(wordlist 1, 4, \ > $(shell echo $(GIT_VERSION) 0 0 0 0 | tr '.a-zA-Z-' ' '))) \ >