# 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.
-
+# disclosure are subject to the GNU General Public License version 3.
# config.mk is generated by ./configure
include config.mk
-all := citserver setup ctdlmigrate sendcommand citmail chkpw chkpwd ctdl3264
+all := citserver setup 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
+ @echo $<
+ @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
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 -o ctdl3264
+ctdldump: utils/ctdldump.c utils/*.h server/*.h
+ cc ${CFLAGS} ${LDFLAGS} utils/ctdldump.c -lcitadel -lz -ldb -lpthread -o ctdldump
-utils/ctdl3264_structs.h: server/server.h utils/ctdl3264_prep.sh
- utils/ctdl3264_prep.sh
+ctdlload: utils/ctdlload.c server/makeuserkey.c utils/*.h server/*.h
+ cc ${CFLAGS} ${LDFLAGS} utils/ctdlload.c server/makeuserkey.c -lcitadel -lz -ldb -lpthread -o ctdlload
config.mk: configure
./configure
rm -vf config.mk
install: $(all) utils/*.sh
- #
- # Installing to ${CTDLDIR}
- #
+ @echo Installing to ${CTDLDIR}
@for x in $(all) utils/*.sh ; do \
install -v -C -D -t ${CTDLDIR} $$x ;\
done