]> code.citadel.org Git - citadel.git/blob - citadel/Makefile
079f85a7ed3c9bdc75eb864213dd23ba497eff09
[citadel.git] / citadel / Makefile
1 # Makefile for Citadel Server
2 # Copyright (c) 1987-2023 by Art Cancro and the citadel.org team
3 #
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.
6 #
7 # This program is open source software.  Use, duplication, and/or
8 # disclosure are subject to the GNU General Purpose License version 3.
9
10 # config.mk is generated by ./configure
11 include config.mk
12
13 all := citserver setup ctdlmigrate sendcommand citmail chkpw chkpwd
14 all: $(all)
15
16 SRCDIRS := $(wildcard server server/modules/*)
17 SOURCES := $(wildcard server/*.c server/modules/*/*.c)
18 OBJECTS := $(patsubst %.c,%.o,$(SOURCES))
19
20 citserver: $(OBJECTS)
21         cc ${CFLAGS} \
22                 $(OBJECTS) \
23                 ${LDFLAGS} \
24                 -lresolv -lcitadel -lpthread -lz -lical -lldap -lcrypt -lexpat -lcurl -ldb \
25                 -o citserver
26
27 $(SOURCES): server/*.h server/modules/*/*.h
28         touch $@
29
30 %.o: %.c
31         cc ${CFLAGS} -c $< -o $@
32
33 setup: utils/setup.c server/citadel_dirs.c utils/*.h server/*.h
34         cc ${CFLAGS} ${LDFLAGS} utils/setup.c -lcitadel -o setup
35
36 ctdlmigrate: utils/ctdlmigrate.c server/citadel_dirs.c utils/*.h server/*.h
37         cc ${CFLAGS} ${LDFLAGS} utils/ctdlmigrate.c -lcitadel -lreadline -o ctdlmigrate
38
39 sendcommand: utils/sendcommand.c server/citadel_dirs.c utils/*.h server/*.h
40         cc ${CFLAGS} ${LDFLAGS} utils/sendcommand.c -lcitadel -o sendcommand
41
42 citmail: utils/citmail.c server/citadel_dirs.c utils/*.h server/*.h
43         cc ${CFLAGS} ${LDFLAGS} utils/citmail.c -lcitadel -o citmail
44
45 chkpw: utils/chkpw.c utils/*.h server/*.h
46         cc ${CFLAGS} ${LDFLAGS} utils/chkpw.c -o chkpw
47
48 chkpwd: utils/chkpwd.c utils/auth.c utils/*.h server/*.h
49         cc ${CFLAGS} ${LDFLAGS} utils/chkpwd.c utils/auth.c -lcrypt -o chkpwd
50
51 ctdldump: utils/ctdldump.c utils/*.h server/*.h
52         cc ${CFLAGS} ${LDFLAGS} utils/ctdldump.c -lcitadel -lz -ldb -o ctdldump
53
54 ctdlload: utils/ctdlload.c utils/*.h server/*.h
55         cc ${CFLAGS} ${LDFLAGS} utils/ctdlload.c -lcitadel -lz -ldb -o ctdlload
56
57 config.mk: configure
58         ./configure
59
60 clean:
61         rm -vf $(all)
62         find . -name *.o | xargs rm -vf
63
64 distclean: clean
65         rm -vf config.mk
66
67 install: $(all) utils/*.sh
68         #
69         # Installing to ${CTDLDIR}
70         #
71         @for x in $(all) utils/*.sh ; do \
72                 install -v -C -D -t ${CTDLDIR} $$x ;\
73         done