Merge branch 'kn/osxkeychain-buildfix' into jch

Simplify build procedure for oxskeychain (in contrib/).

* kn/osxkeychain-buildfix:
  osxkeychain: define build targets in the top-level Makefile.
This commit is contained in:
Junio C Hamano
2026-02-23 14:26:51 -08:00
2 changed files with 27 additions and 59 deletions

View File

@@ -2880,6 +2880,10 @@ objects: $(OBJECTS)
dep_files := $(foreach f,$(OBJECTS),$(dir $f).depend/$(notdir $f).d)
dep_dirs := $(addsuffix .depend,$(sort $(dir $(OBJECTS))))
ifeq ($(uname_S),Darwin)
dep_dirs += $(addsuffix .depend,$(sort $(dir contrib/credential/osxkeychain/git-credential-osxkeychain.o)))
endif
ifeq ($(COMPUTE_HEADER_DEPENDENCIES),yes)
$(dep_dirs):
@mkdir -p $@
@@ -4067,3 +4071,20 @@ $(LIBGIT_HIDDEN_EXPORT): $(LIBGIT_PARTIAL_EXPORT)
contrib/libgit-sys/libgitpub.a: $(LIBGIT_HIDDEN_EXPORT)
$(AR) $(ARFLAGS) $@ $^
contrib/credential/osxkeychain/git-credential-osxkeychain: contrib/credential/osxkeychain/git-credential-osxkeychain.o $(LIB_FILE) GIT-LDFLAGS
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) \
$(filter %.o,$^) $(LIB_FILE) $(EXTLIBS) -framework Security -framework CoreFoundation
contrib/credential/osxkeychain/git-credential-osxkeychain.o: contrib/credential/osxkeychain/git-credential-osxkeychain.c GIT-CFLAGS
$(QUIET_LINK)$(CC) -o $@ -c $(dep_args) $(compdb_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
install-git-credential-osxkeychain: contrib/credential/osxkeychain/git-credential-osxkeychain
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
$(INSTALL) $(INSTALL_STRIP) $< '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
.PHONY: clean-git-credential-osxkeychain
clean-git-credential-osxkeychain:
$(RM) \
contrib/credential/osxkeychain/git-credential-osxkeychain \
contrib/credential/osxkeychain/git-credential-osxkeychain.o

View File

@@ -1,66 +1,13 @@
# The default target of this Makefile is...
all:: git-credential-osxkeychain
include ../../../config.mak.uname
-include ../../../config.mak.autogen
-include ../../../config.mak
git-credential-osxkeychain:
$(MAKE) -C ../../.. contrib/credential/osxkeychain/git-credential-osxkeychain
ifdef ZLIB_NG
BASIC_CFLAGS += -DHAVE_ZLIB_NG
ifdef ZLIB_NG_PATH
BASIC_CFLAGS += -I$(ZLIB_NG_PATH)/include
EXTLIBS += $(call libpath_template,$(ZLIB_NG_PATH)/$(lib))
endif
EXTLIBS += -lz-ng
else
ifdef ZLIB_PATH
BASIC_CFLAGS += -I$(ZLIB_PATH)/include
EXTLIBS += $(call libpath_template,$(ZLIB_PATH)/$(lib))
endif
EXTLIBS += -lz
endif
ifndef NO_ICONV
ifdef NEEDS_LIBICONV
ifdef ICONVDIR
BASIC_CFLAGS += -I$(ICONVDIR)/include
ICONV_LINK = $(call libpath_template,$(ICONVDIR)/$(lib))
else
ICONV_LINK =
endif
ifdef NEEDS_LIBINTL_BEFORE_LIBICONV
ICONV_LINK += -lintl
endif
EXTLIBS += $(ICONV_LINK) -liconv
endif
endif
ifndef LIBC_CONTAINS_LIBINTL
EXTLIBS += -lintl
endif
prefix ?= /usr/local
gitexecdir ?= $(prefix)/libexec/git-core
CC ?= gcc
CFLAGS ?= -g -O2 -Wall -I../../.. $(BASIC_CFLAGS)
LDFLAGS ?= $(BASIC_LDFLAGS) $(EXTLIBS)
INSTALL ?= install
RM ?= rm -f
%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
git-credential-osxkeychain: git-credential-osxkeychain.o ../../../libgit.a
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) \
-framework Security -framework CoreFoundation
install: git-credential-osxkeychain
$(INSTALL) -d -m 755 $(DESTDIR)$(gitexecdir)
$(INSTALL) -m 755 $< $(DESTDIR)$(gitexecdir)
../../../libgit.a:
cd ../../..; make libgit.a
install:
$(MAKE) -C ../../.. install-git-credential-osxkeychain
clean:
$(RM) git-credential-osxkeychain git-credential-osxkeychain.o
$(MAKE) -C ../../.. clean-git-credential-osxkeychain
.PHONY: all install clean
.PHONY: all git-credential-osxkeychain install clean