# Makefile for Citadel Server # Copyright (c) 1987-2023 by Art Cancro and the citadel.org team # # No, we are NOT using the obsolete GNU Autotools. This configure script works # well on the Linux operating system (which uses the Linux kernel) and on BSD. # # This program is open source software. Use, duplication, and/or # disclosure are subject to the GNU General Purpose License version 3. # config.mk is generated by ./configure include config.mk all := citserver setup ctdlmigrate sendcommand citmail chkpw chkpwd all: $(all) SRCDIRS := $(wildcard server server/modules/*) SOURCES := $(wildcard server/*.c server/modules/*/*.c) OBJECTS := $(patsubst %.c,%.o,$(SOURCES)) citserver: $(OBJECTS) cc ${CFLAGS} \ $(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 ctdlmigrate: utils/ctdlmigrate.c server/citadel_dirs.c utils/*.h server/*.h cc ${CFLAGS} ${LDFLAGS} utils/ctdlmigrate.c -lcitadel -lreadline -o ctdlmigrate sendcommand: utils/sendcommand.c server/citadel_dirs.c utils/*.h server/*.h cc ${CFLAGS} ${LDFLAGS} utils/sendcommand.c -lcitadel -o sendcommand citmail: utils/citmail.c server/citadel_dirs.c utils/*.h server/*.h cc ${CFLAGS} ${LDFLAGS} utils/citmail.c -lcitadel -o citmail chkpw: utils/chkpw.c utils/*.h server/*.h cc ${CFLAGS} ${LDFLAGS} utils/chkpw.c -o chkpw chkpwd: utils/chkpwd.c utils/auth.c utils/*.h server/*.h cc ${CFLAGS} ${LDFLAGS} utils/chkpwd.c utils/auth.c -lcrypt -o chkpwd ctdl3264: utils/ctdl3264.c utils/*.h server/*.h utils/ctdl3264_structs.h cc ${CFLAGS} ${LDFLAGS} utils/ctdl3264.c -lcitadel -lz -ldb -o ctdl3264 utils/ctdl3264_structs.h: server/server.h utils/ctdl3264_prep.sh utils/ctdl3264_prep.sh config.mk: configure ./configure clean: rm -vf $(all) find . -name *.o | xargs rm -vf distclean: clean rm -vf config.mk install: $(all) utils/*.sh # # Installing to ${CTDLDIR} # @for x in $(all) utils/*.sh ; do \ install -v -C -D -t ${CTDLDIR} $$x ;\ done