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@
32 PTHREAD_DEFS=-D_REENTRANT
34 client: $(CLIENT_TARGETS)
36 server: $(SERVER_TARGETS)
38 utils: $(UTIL_TARGETS)
40 serv_modules: $(SERV_MODULES)
45 citadel: ipc_c_tcp.o citadel.o rooms.o routines.o routines2.o messages.o \
46 commands.o client_chat.o serv_info.o
47 $(CC) ipc_c_tcp.o citadel.o rooms.o routines.o routines2.o \
48 messages.o commands.o client_chat.o serv_info.o $(LDFLAGS) -o citadel
50 netpoll: netpoll.o config.o ipc_c_tcp.o
51 $(CC) netpoll.o config.o ipc_c_tcp.o $(LDFLAGS) -o netpoll
54 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c netpoll.c
56 ipc_c_tcp.o: ipc_c_tcp.c
57 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c ipc_c_tcp.c
60 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c citadel.c
63 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c rooms.c
65 messages.o: messages.c
66 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c messages.c
68 commands.o: commands.c
69 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c commands.c
71 routines.o: routines.c
72 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c routines.c
74 routines2.o: routines2.c
75 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c routines2.c
77 client_chat.o: client_chat.c
78 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c client_chat.c
80 serv_info.o: serv_info.c
81 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c serv_info.c
87 citserver: citserver.o user_ops.o support.o room_ops.o file_ops.o \
88 msgbase.o config.o sysdep.o locate_host.o \
89 housekeeping.o database.o control.o logging.o \
90 dynloader.o $(SNPRINTF)
92 citserver.o user_ops.o room_ops.o file_ops.o support.o \
93 msgbase.o config.o sysdep.o locate_host.o \
94 housekeeping.o database.o control.o logging.o \
95 dynloader.o $(SNPRINTF)\
96 $(LDFLAGS) $(SERVER_LDFLAGS) $(LIBS) -o citserver
98 citserver.o: citserver.c
99 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c citserver.c
101 snprintf.o: snprintf.c
102 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c snprintf.c
104 user_ops.o: user_ops.c
105 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c user_ops.c
107 room_ops.o: room_ops.c
108 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c room_ops.c
110 dynloader.o: dynloader.c
111 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c dynloader.c
113 file_ops.o: file_ops.c
114 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c file_ops.c
117 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c support.c
120 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c msgbase.c
122 locate_host.o: locate_host.c
123 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c locate_host.c
125 modules/serv_chat.so: serv_chat.o
126 $(CC) -shared -o modules/serv_chat.so serv_chat.o
128 serv_chat.o: serv_chat.c
129 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -fPIC -c serv_chat.c
131 modules/serv_test.so: serv_test.o
132 $(CC) -shared -o modules/serv_test.so serv_test.o
134 serv_test.o: serv_test.c
135 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -fPIC -c serv_test.c
137 housekeeping.o: housekeeping.c
138 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c housekeeping.c
140 database.o: database.c
141 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c database.c
144 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c control.c
147 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c logging.c
150 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c config.c
153 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(PTHREAD_DEFS) -c sysdep.c
155 aidepost: aidepost.o config.o
156 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) aidepost.o config.o $(LDFLAGS) -o aidepost
158 aidepost.o: aidepost.c
159 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c aidepost.c
162 # 'netmailer' needs to run setuid because it generates headers for Internet
163 # mail. If it is not run setuid, all outgoing mail may always show as coming
164 # from your BBSUID rather than the actual sending user.
166 netmailer: netmailer.o internetmail.o config.o
167 $(CC) netmailer.o config.o internetmail.o $(LDFLAGS) -o netmailer
170 netmailer.o: netmailer.c
171 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c netmailer.c
173 internetmail.o: internetmail.c
174 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c internetmail.c
176 netproc: netproc.o config.o ipc_c_tcp.o
177 $(CC) netproc.o config.o ipc_c_tcp.o \
178 $(LDFLAGS) -o netproc
181 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c netproc.c
183 citmail: citmail.o config.o internetmail.o
185 @echo "* ###### IMPORTANT ######"
186 @echo "* To allow Citadel users to receive Internet mail, you must"
187 @echo "* set this program to be your local mail delivery agent."
189 $(CC) citmail.o config.o internetmail.o $(LDFLAGS) -o citmail
193 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c citmail.c
195 mailinglist: mailinglist.o config.o internetmail.o
196 $(CC) mailinglist.o config.o internetmail.o \
197 $(LDFLAGS) -o mailinglist
199 mailinglist.o: mailinglist.c
200 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c mailinglist.c
203 $(CC) setup.o $(CURSES) $(LDFLAGS) -o setup
206 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c setup.c
208 netsetup: netsetup.o config.o
209 $(CC) netsetup.o config.o $(LDFLAGS) -o netsetup
211 netsetup.o: netsetup.c
212 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c netsetup.c
214 proxy: proxy.o ipc_c_tcp.o
215 $(CC) proxy.o ipc_c_tcp.o $(LDFLAGS) -o proxy
218 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c proxy.c
220 whobbs: whobbs.o ipc_c_tcp.o
221 $(CC) whobbs.o ipc_c_tcp.o $(LDFLAGS) -o whobbs
224 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c whobbs.c
226 userlist: userlist.o ipc_c_tcp.o
227 $(CC) userlist.o ipc_c_tcp.o $(LDFLAGS) -o userlist
229 userlist.o: userlist.c
230 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c userlist.c
233 $(CC) msgform.o $(LDFLAGS) -o msgform
236 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c msgform.c
238 readlog: readlog.o config.o
239 $(CC) readlog.o config.o $(LDFLAGS) -o readlog
242 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c readlog.c
244 rcit: rcit.o config.o
245 $(CC) rcit.o config.o $(LDFLAGS) -o rcit
247 @echo "* NOTE: TO RECEIVE CITADEL TRAFFIC VIA THE RCIT PROGRAM (ESPECIALLY"
248 @echo "* IF YOU ARE GATEWAYING TO USENET) YOU MUST LINK RNEWS TO RCIT:"
249 @echo "* ln -s rcit /usr/bin/rnews"
253 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c rcit.c
255 stats: stats.o config.o
256 $(CC) stats.o config.o $(LDFLAGS) -o stats
259 $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c stats.c
262 find . -name \*.[o] -print -exec rm -f {} \;
265 rm -f $(CLIENT_TARGETS) $(SERVER_TARGETS) $(UTIL_TARGETS) \
266 $(SERV_MODULES) $(PROXY_TARGETS) so_locations
269 rm -f Makefile sysdep.h config.cache config.log config.status
271 .depend: $(wildcard *.c) $(wildcard *.h)
272 $(CC) -MM *.c > .depend