git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] libsecret/Makefile: add install target

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 11, 2025, 21:18 UTC
Message-ID
<xmqqsegsofhi.fsf@gitster.g>
In-Reply-To
<pull.1970.git.1757623086030.gitgitgadget@gmail.com>
"M Hickford via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 27 quoted lines
> From: M Hickford <mirth.hickford@gmail.com>
>
> Signed-off-by: M Hickford <mirth.hickford@gmail.com>
> ---
>     libsecret/Makefile: add install target
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1970%2Fhickford%2Flibsecret-makefile-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1970/hickford/libsecret-makefile-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1970
>
>  contrib/credential/libsecret/Makefile | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/contrib/credential/libsecret/Makefile b/contrib/credential/libsecret/Makefile
> index 97ce9c92fb..6fe70065ab 100644
> --- a/contrib/credential/libsecret/Makefile
> +++ b/contrib/credential/libsecret/Makefile
> @@ -26,3 +26,7 @@ $(MAIN): $(OBJS)
>  
>  clean:
>  	@$(RM) $(MAIN) $(OBJS)
> +
> +install: $(MAIN)
> +	$(INSTALL) -d -m 755 $(DESTDIR)$(gitexecdir)
> +	$(INSTALL) -m 755 $(MAIN) $(DESTDIR)$(gitexecdir)
>
> base-commit: 4975ec3473b4bc61bc8a3df1ef29d0b7e7959e87

Hmph, the existing make macros used in the Makefile like $(RM), $(CC), etc. are all defined in the same Makefile, and the only things this Makefile includes are config.mak and its autogen variant if they exist, neither of which are the source of INSTALL or gitexecdir that are used in the main Makefile by being defined there.

It seems that existing Makefiles in contrib/ like the one in subtree and contacts, all define their own. Perhaps you can mimick them by adding things like

    prefix ?= /usr/local
    gitexecdir ?= $(prefix)/libexec/git-core
    # this should be set to a 'standard' bsd-type install program
    INSTALL  ?= install

that they commonly add for now to make it work? Without anything like that, I cannot quite see how it would work with your patch alone.

And then later we of course should clean things up by splitting the definitions done in the main Makefile into a common file that can be included (e.g. path+tool+definitions.mak file), include it from the main Makefile, and then have contrib/*/Makefile also include it so that the duplicated definitions like we see in Makefiles in subtree and contacts (there may be others; they just were the first hits in my "git ls-files | grep /Makefile").

Previous: M Hickford via GitGitGadget
Message 2 of 2 in “libsecret/Makefile: add install target”
  1. libsecret/Makefile: add install targetM Hickford via GitGitGadget, Sep 11, 2025
  2. Junio C HamanoSep 11, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.