1 # Makefile for Citadel Server
2 # Copyright (c) 1987-2023 by Art Cancro and the citadel.org team
4 # No, we are NOT using the obsolete GNU Autotools. This configure script works
5 # well on the Linux operating system (which uses the Linux kernel) and on BSD.
7 # This program is open source software. Use, duplication, and/or
8 # disclosure are subject to the GNU General Public License version 3.
10 # config.mk is generated by ./configure
13 all := ctdldump ctdlload citserver setup sendcommand citmail chkpw chkpwd
16 SRCDIRS := $(wildcard server server/modules/* server/backends/*)
17 SOURCES := $(wildcard server/*.c server/modules/*/*.c server/backends/*/*.c)
18 OBJECTS := $(patsubst %.c,%.o,$(SOURCES))
24 -lresolv -lcitadel -lpthread -lz -lical -lldap -lcrypt -lexpat -lcurl -ldb \
27 $(SOURCES): server/*.h server/modules/*/*.h server/backends/*/*.h
32 @cc ${CFLAGS} -c $< -o $@
34 setup: utils/setup.c server/citadel_dirs.c utils/*.h server/*.h
35 cc ${CFLAGS} ${LDFLAGS} utils/setup.c -lcitadel -o setup
37 ctdlmigrate: utils/ctdlmigrate.c server/citadel_dirs.c utils/*.h server/*.h
38 cc ${CFLAGS} ${LDFLAGS} utils/ctdlmigrate.c -lcitadel -lreadline -o ctdlmigrate
40 sendcommand: utils/sendcommand.c server/citadel_dirs.c utils/*.h server/*.h
41 cc ${CFLAGS} ${LDFLAGS} utils/sendcommand.c -lcitadel -o sendcommand
43 citmail: utils/citmail.c server/citadel_dirs.c utils/*.h server/*.h
44 cc ${CFLAGS} ${LDFLAGS} utils/citmail.c -lcitadel -o citmail
46 chkpw: utils/chkpw.c utils/*.h server/*.h
47 cc ${CFLAGS} ${LDFLAGS} utils/chkpw.c -o chkpw
49 chkpwd: utils/chkpwd.c utils/auth.c utils/*.h server/*.h
50 cc ${CFLAGS} ${LDFLAGS} utils/chkpwd.c utils/auth.c -lcrypt -o chkpwd
52 ctdldump: utils/ctdldump.c utils/*.h server/*.h
53 cc ${CFLAGS} ${LDFLAGS} utils/ctdldump.c -lcitadel -lz -ldb -lpthread -o ctdldump
55 ctdlload: utils/ctdlload.c server/makeuserkey.c utils/*.h server/*.h
56 cc ${CFLAGS} ${LDFLAGS} utils/ctdlload.c server/makeuserkey.c -lcitadel -lz -ldb -lpthread -o ctdlload
63 find . -name *.o | xargs rm -vf
68 install: $(all) utils/*.sh
69 @echo Installing to ${CTDLDIR}
70 @for x in $(all) utils/*.sh ; do \
71 install -v -C -D -t ${CTDLDIR} $$x ;\