Subject: Re: [PATCH] wincred: align Makefile with other Makefiles in contrib

From: Junio C Hamano <[email-masked]>
Date: Thu, 06 Nov 2025 06:37:34 -0800

Thomas Uhle <[email-masked]> writes:

> * Replace $(LOADLIBES) because it is deprecated since long and it is
>   used nowhere else in the git project.
> * Use $(gitexecdir) instead of $(libexecdir) because config.mak defines
>   $(libexecdir) as $(prefix)/libexec, not as $(prefix)/libexec/git-core.
> * Similar to other Makefiles, let install target rule create
>   $(gitexecdir) to make sure the directory exists before copying the
>   executable and also let it respect $(DESTDIR).
> * Shuffle the lines for the default settings to align them with the
>   other Makefiles in contrib/credential.
> * Define .PHONY for all special targets (all, install, clean).
>
> Signed-off-by: Thomas Uhle <[email-masked]>
> ---
>  contrib/credential/wincred/Makefile | 18 ++++++++++--------
>  1 file changed, 10 insertions(+), 8 deletions(-)

Looks sensible (to a person who does not do Windows, anyway), but I
do not know what depends on the way it is currently laid out, so
will queue only after I see a Windows person or two give their acks
to the patch.

Thanks.

> diff --git a/contrib/credential/wincred/Makefile b/contrib/credential/wincred/Makefile
> index 5b795fc..d92e721 100644
> --- a/contrib/credential/wincred/Makefile
> +++ b/contrib/credential/wincred/Makefile
> @@ -4,20 +4,22 @@
>  -include ../../../config.mak.autogen
>  -include ../../../config.mak
>
> -CC ?= gcc
> -RM ?= rm -f
> -CFLAGS ?= -O2 -Wall
> -
>  prefix ?= /usr/local
> -libexecdir ?= $(prefix)/libexec/git-core
> +gitexecdir ?= $(prefix)/libexec/git-core
>
> +CC ?= gcc
> +CFLAGS ?= -O2 -Wall
>  INSTALL ?= install
> +RM ?= rm -f
>
> -git-credential-wincred.exe : git-credential-wincred.c
> -	$(LINK.c) $^ $(LOADLIBES) $(LDLIBS) -o $@
> +git-credential-wincred.exe: git-credential-wincred.c
> +	$(LINK.c) -o $@ $^ $(LDFLAGS) $(LDLIBS)
>
>  install: git-credential-wincred.exe
> -	$(INSTALL) -m 755 $^ $(libexecdir)
> +	$(INSTALL) -d -m 755 $(DESTDIR)$(gitexecdir)
> +	$(INSTALL) -m 755 $< $(DESTDIR)$(gitexecdir)
>
>  clean:
>  	$(RM) git-credential-wincred.exe
> +
> +.PHONY: all install clean
>
> base-commit: 4cf919bd7b946477798af5414a371b23fd68bf93