contrib/credential: harmonize Makefiles

Update these Makefiles to be in line with other Makefiles from contrib
such as for contacts or subtree by making the following changes:

* Make the default settings after including config.mak.autogen and
  config.mak.
* Add the missing $(CPPFLAGS) to the compiler command as well as the
  missing $(CFLAGS) to the linker command.
* Use a pattern rule for compilation instead of a dedicated rule for
  each compile unit.
* Get rid of $(MAIN), $(SRCS) and $(OBJS) and simply use their values
  such as git-credential-libsecret and git-credential-libsecret.o.
* Strip @ from $(RM) to let the clean target rule be verbose.
* Define .PHONY for all special targets (all, clean).

Signed-off-by: Thomas Uhle <thomas.uhle@mailbox.tu-dresden.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Thomas Uhle
2025-10-20 20:20:22 +02:00
committed by Junio C Hamano
parent 4b71b29477
commit 9b8ff6dc9a
2 changed files with 28 additions and 24 deletions

View File

@@ -1,28 +1,27 @@
# The default target of this Makefile is...
all::
MAIN:=git-credential-libsecret
all:: $(MAIN)
CC = gcc
RM = rm -f
CFLAGS = -g -O2 -Wall
PKG_CONFIG = pkg-config
all:: git-credential-libsecret
-include ../../../config.mak.autogen
-include ../../../config.mak
prefix ?= /usr/local
gitexecdir ?= $(prefix)/libexec/git-core
CC ?= gcc
CFLAGS ?= -g -O2 -Wall
PKG_CONFIG ?= pkg-config
RM ?= rm -f
INCS:=$(shell $(PKG_CONFIG) --cflags libsecret-1 glib-2.0)
LIBS:=$(shell $(PKG_CONFIG) --libs libsecret-1 glib-2.0)
SRCS:=$(MAIN).c
OBJS:=$(SRCS:.c=.o)
%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) $(INCS) -o $@ -c $<
$(MAIN): $(OBJS)
$(CC) -o $@ $(LDFLAGS) $^ $(LIBS)
git-credential-libsecret: git-credential-libsecret.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS)
clean:
@$(RM) $(MAIN) $(OBJS)
$(RM) git-credential-libsecret git-credential-libsecret.o
.PHONY: all clean

View File

@@ -1,19 +1,24 @@
# The default target of this Makefile is...
all:: git-credential-osxkeychain
CC = gcc
RM = rm -f
CFLAGS = -g -O2 -Wall
-include ../../../config.mak.autogen
-include ../../../config.mak
git-credential-osxkeychain: git-credential-osxkeychain.o
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) \
-framework Security -framework CoreFoundation
prefix ?= /usr/local
gitexecdir ?= $(prefix)/libexec/git-core
git-credential-osxkeychain.o: git-credential-osxkeychain.c
$(CC) -c $(CFLAGS) $<
CC ?= gcc
CFLAGS ?= -g -O2 -Wall
RM ?= rm -f
%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
git-credential-osxkeychain: git-credential-osxkeychain.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) \
-framework Security -framework CoreFoundation
clean:
$(RM) git-credential-osxkeychain git-credential-osxkeychain.o
.PHONY: all clean