-# 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 Public License version 3.
-
-# config.mk is generated by ./configure
-include config.mk
-
-all := ctdldump ctdlload citserver setup sendcommand citmail chkpw chkpwd loadtest dbnothing
-all: $(all)
-
-SERVER_SOURCES := $(wildcard server/*.c server/modules/*/*.c)
-SERVER_OBJECTS := $(patsubst %.c,%.o,$(SERVER_SOURCES))
-BACKEND_SOURCES := $(wildcard server/backends/*/*.c)
-BACKEND_OBJECTS := $(patsubst %.c,%.o,$(BACKEND_SOURCES))
-
-$(SERVER_SOURCES): server/*.h server/modules/*/*.h server/backends/*/*.h
- @touch $@
-
-$(BACKEND_SOURCES): server/*.h server/modules/*/*.h server/backends/*/*.h
- @touch $@
-
-%.o: %.c
- @echo $<
- @${CC} ${CFLAGS} -c $< -o $@
-
-citserver: $(SERVER_OBJECTS) $(BACKEND_OBJECTS)
- ${CC} ${CFLAGS} \
- $(SERVER_OBJECTS) $(BACKEND_OBJECTS) \
- ${LDFLAGS} \
- -lcitadel -lpthread -lz -lical -lldap -lcrypt -lexpat -lcurl ${LRESOLV} ${BACKEND_LDFLAGS} \
- -o citserver
-
-setup: utils/setup.c server/citadel_dirs.c utils/*.h server/*.h
- ${CC} ${CFLAGS} ${LDFLAGS} utils/setup.c -lcitadel ${LINTL} -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
-
-dbnothing: utils/dbnothing.c utils/*.h server/*.h ${BACKEND_OBJECTS}
- ${CC} ${CFLAGS} ${LDFLAGS} utils/dbnothing.c ${BACKEND_OBJECTS} -lcitadel -lz ${BACKEND_LDFLAGS} -lpthread -o dbnothing
-
-ctdldump: utils/ctdldump.c utils/*.h server/*.h ${BACKEND_OBJECTS}
- ${CC} ${CFLAGS} ${LDFLAGS} utils/ctdldump.c ${BACKEND_OBJECTS} -lcitadel -lz ${BACKEND_LDFLAGS} -lpthread -o ctdldump
-
-ctdlload: utils/ctdlload.c server/makeuserkey.c utils/*.h server/*.h ${BACKEND_OBJECTS}
- ${CC} ${CFLAGS} ${LDFLAGS} utils/ctdlload.c server/makeuserkey.c ${BACKEND_OBJECTS} -lcitadel -lz ${BACKEND_LDFLAGS} -lpthread -o ctdlload
-
-loadtest: utils/loadtest.c server/citadel_dirs.c utils/*.h server/*.h
- ${CC} ${CFLAGS} ${LDFLAGS} utils/loadtest.c -lcitadel -lpthread -o loadtest
-
-config.mk: configure
- ./configure
-
-clean:
- rm -vf $(all)
- find . -name *.o | xargs rm -vf
-
-distclean: clean
- rm -vf config.mk
-
-install: $(all) utils/*.sh
- @echo Installing to ${CTDLDIR}
- @for x in $(all) utils/*.sh ; do \
- install -v -C -D -t ${CTDLDIR} $$x ;\
- done