1 # Makefile for Citadel/UX
3 # NOTE: normally you should not have to modify the Makefile. All
4 # system-dependent configuration is in the "configure" script, which
5 # uses "Makefile.in" to generate a "Makefile". In the rare instance
6 # that you have to modify something here, please take note:
7 # 1. Edit Makefile.in, -not- Makefile.
8 # 2. Send e-mail to ajc@uncnsrd.mt-kisco.ny.us and let me know what you
9 # did, so any necessary changes can be put into the next release.
11 ########################################################################
17 CLIENT_TARGETS=citadel whobbs
18 SERVER_TARGETS=citserver setup
19 SERV_MODULES=modules/serv_chat.so modules/serv_test.so
20 UTIL_TARGETS=aidepost netmailer netproc netsetup msgform \
21 readlog rcit stats citmail netpoll mailinglist userlist
29 SERVER_LDFLAGS=@SERVER_LDFLAGS@
31 PTHREAD_DEFS=-D_REENTRANT
33 client: $(CLIENT_TARGETS)
35 server: $(SERVER_TARGETS)
37 utils: $(UTIL_TARGETS)
39 serv_modules: $(SERV_MODULES)
44 citadel: ipc_c_tcp.o citadel.o rooms.o routines.o routines2.o messages.o \
45 commands.o client_chat.o serv_info.o
46 $(CC) ipc_c_tcp.o citadel.o rooms.o routines.o routines2.o \
47 messages.o commands.o client_chat.o serv_info.o $(LDFLAGS) -o citadel
49 netpoll: netpoll.o config.o ipc_c_tcp.o
50 $(CC) netpoll.o config.o ipc_c_tcp.o $(LDFLAGS) -o netpoll
53 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c netpoll.c
55 ipc_c_tcp.o: ipc_c_tcp.c
56 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c ipc_c_tcp.c
59 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c citadel.c
62 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c rooms.c
64 messages.o: messages.c
65 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c messages.c
67 commands.o: commands.c
68 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c commands.c
70 routines.o: routines.c
71 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c routines.c
73 routines2.o: routines2.c
74 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c routines2.c
76 client_chat.o: client_chat.c
77 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c client_chat.c
79 serv_info.o: serv_info.c
80 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c serv_info.c
86 citserver: citserver.o user_ops.o support.o room_ops.o file_ops.o \
87 msgbase.o config.o sysdep.o locate_host.o \
88 housekeeping.o database.o control.o logging.o \
91 citserver.o user_ops.o room_ops.o file_ops.o support.o \
92 msgbase.o config.o sysdep.o locate_host.o \
93 housekeeping.o database.o control.o logging.o \
95 $(LDFLAGS) $(SERVER_LDFLAGS) $(LIBS) -o citserver
97 citserver.o: citserver.c
98 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c citserver.c
100 user_ops.o: user_ops.c
101 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c user_ops.c
103 room_ops.o: room_ops.c
104 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c room_ops.c
106 dynloader.o: dynloader.c
107 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c dynloader.c
109 file_ops.o: file_ops.c
110 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c file_ops.c
113 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c support.c
116 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c msgbase.c
118 locate_host.o: locate_host.c
119 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c locate_host.c
121 modules/serv_chat.so: serv_chat.o
122 $(CC) -shared -o modules/serv_chat.so serv_chat.o
124 serv_chat.o: serv_chat.c
125 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -fPIC -c serv_chat.c
127 modules/serv_test.so: serv_test.o
128 $(CC) -shared -o modules/serv_test.so serv_test.o
130 serv_test.o: serv_test.c
131 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -fPIC -c serv_test.c
133 housekeeping.o: housekeeping.c
134 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c housekeeping.c
136 database.o: database.c
137 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c database.c
140 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c control.c
143 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c logging.c
146 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c config.c
149 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c sysdep.c
151 aidepost: aidepost.o config.o
152 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) aidepost.o config.o $(LDFLAGS) -o aidepost
154 aidepost.o: aidepost.c
155 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c aidepost.c
158 # 'netmailer' needs to run setuid because it generates headers for Internet
159 # mail. If it is not run setuid, all outgoing mail may always show as coming
160 # from your BBSUID rather than the actual sending user.
162 netmailer: netmailer.o internetmail.o config.o
163 $(CC) netmailer.o config.o internetmail.o $(LDFLAGS) -o netmailer
166 netmailer.o: netmailer.c
167 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c netmailer.c
169 internetmail.o: internetmail.c
170 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c internetmail.c
172 netproc: netproc.o config.o ipc_c_tcp.o
173 $(CC) netproc.o config.o ipc_c_tcp.o \
174 $(LDFLAGS) -o netproc
177 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c netproc.c
179 citmail: citmail.o config.o internetmail.o
181 @echo "* ###### IMPORTANT ######"
182 @echo "* To allow Citadel users to receive Internet mail, you must"
183 @echo "* set this program to be your local mail delivery agent."
185 $(CC) citmail.o config.o internetmail.o $(LDFLAGS) -o citmail
189 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c citmail.c
191 mailinglist: mailinglist.o config.o internetmail.o
192 $(CC) mailinglist.o config.o internetmail.o \
193 $(LDFLAGS) -o mailinglist
195 mailinglist.o: mailinglist.c
196 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c mailinglist.c
199 $(CC) setup.o $(CURSES) $(LDFLAGS) -o setup
202 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c setup.c
204 netsetup: netsetup.o config.o
205 $(CC) netsetup.o config.o $(LDFLAGS) -o netsetup
207 netsetup.o: netsetup.c
208 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c netsetup.c
210 proxy: proxy.o ipc_c_tcp.o
211 $(CC) proxy.o ipc_c_tcp.o $(LDFLAGS) -o proxy
214 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c proxy.c
216 whobbs: whobbs.o ipc_c_tcp.o
217 $(CC) whobbs.o ipc_c_tcp.o $(LDFLAGS) -o whobbs
220 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c whobbs.c
222 userlist: userlist.o ipc_c_tcp.o
223 $(CC) userlist.o ipc_c_tcp.o $(LDFLAGS) -o userlist
225 userlist.o: userlist.c
226 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c userlist.c
229 $(CC) msgform.o $(LDFLAGS) -o msgform
232 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c msgform.c
234 readlog: readlog.o config.o
235 $(CC) readlog.o config.o $(LDFLAGS) -o readlog
238 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c readlog.c
240 rcit: rcit.o config.o
241 $(CC) rcit.o config.o $(LDFLAGS) -o rcit
243 @echo "* NOTE: TO RECEIVE CITADEL TRAFFIC VIA THE RCIT PROGRAM (ESPECIALLY"
244 @echo "* IF YOU ARE GATEWAYING TO USENET) YOU MUST LINK RNEWS TO RCIT:"
245 @echo "* ln -s rcit /usr/bin/rnews"
249 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c rcit.c
251 stats: stats.o config.o
252 $(CC) stats.o config.o $(LDFLAGS) -o stats
255 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c stats.c
258 find . -name \*.[o] -print -exec rm -f {} \;
261 rm -f $(CLIENT_TARGETS) $(SERVER_TARGETS) $(UTIL_TARGETS) \
262 $(SERV_MODULES) $(PROXY_TARGETS) so_locations
265 rm -f Makefile sysdep.h config.cache config.log config.status
267 .depend: $(wildcard *.c) $(wildcard *.h)
268 $(CC) -MM *.c > .depend