# config.mk is generated by ./configure
include config.mk
-all := citserver setup sendcommand citmail chkpw chkpwd
+all := ctdldump ctdlload citserver setup sendcommand citmail loadtest dbnothing ${CHKPW}
all: $(all)
-SRCDIRS := $(wildcard server server/modules/*)
-SOURCES := $(wildcard server/*.c server/modules/*/*.c)
-OBJECTS := $(patsubst %.c,%.o,$(SOURCES))
+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))
-citserver: $(OBJECTS)
- cc ${CFLAGS} \
- $(OBJECTS) \
- ${LDFLAGS} \
- -lresolv -lcitadel -lpthread -lz -lical -lldap -lcrypt -lexpat -lcurl -ldb \
- -o citserver
+$(SERVER_SOURCES): server/*.h server/modules/*/*.h server/backends/*/*.h
+ @touch $@
-$(SOURCES): server/*.h server/modules/*/*.h
+$(BACKEND_SOURCES): server/*.h server/modules/*/*.h server/backends/*/*.h
@touch $@
%.o: %.c
@echo $<
- @cc ${CFLAGS} -c $< -o $@
+ @${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 -o setup
+ ${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
+ ${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
+ ${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
+ ${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
+ ${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
+ ${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
-ctdldump: utils/ctdldump.c utils/*.h server/*.h
- cc ${CFLAGS} ${LDFLAGS} utils/ctdldump.c -lcitadel -lz -ldb -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
-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
+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