From 70696aa744e31cf2cd9ad90445adaa892c2ab82e Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Mon, 10 Jul 2023 12:45:45 -0900 Subject: [PATCH] citadel/Makefile: parallelizable build with wildcards --- citadel/Makefile | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/citadel/Makefile b/citadel/Makefile index e9226bdd5..9f260add0 100644 --- a/citadel/Makefile +++ b/citadel/Makefile @@ -13,12 +13,23 @@ include config.mk all := citserver setup ctdlmigrate sendcommand citmail chkpw chkpwd all: $(all) -citserver: server/*.c server/modules/*/*.c config.mk server/*.h +SRCDIRS := $(wildcard server server/modules/*) +SOURCES := $(wildcard server/*.c server/modules/*/*.c) +OBJECTS := $(patsubst %.c,%.o,$(SOURCES)) + +citserver: $(OBJECTS) cc ${CFLAGS} \ - server/*.c server/modules/*/*.c \ - ${LDFLAGS} -lresolv -lcitadel -lpthread -lz -lical -lldap -lcrypt -lexpat -lcurl -ldb \ + $(OBJECTS) \ + ${LDFLAGS} \ + -lresolv -lcitadel -lpthread -lz -lical -lldap -lcrypt -lexpat -lcurl -ldb \ -o citserver +$(SOURCES): server/*.h server/modules/*/*.h + touch $@ + +%.o: %.c + cc ${CFLAGS} -c $< -o $@ + setup: utils/setup.c server/citadel_dirs.c utils/*.h server/*.h cc ${CFLAGS} ${LDFLAGS} utils/setup.c -lcitadel -o setup -- 2.39.2