1 |
# |
2 |
# This is the Makefile for EGGDROP (the irc bot) |
3 |
# You should never need to edit this. |
4 |
# |
5 |
|
6 |
prefix = @prefix@ |
7 |
DEST = @DEST@ |
8 |
NEWVERSION = `grep 'char egg_version' src/main.c | @AWK@ '{gsub(/(\"|\;)/, "", $$4); print $$4}'` |
9 |
|
10 |
SHELL = /bin/sh |
11 |
|
12 |
# things you can put here: |
13 |
# -Wall if you're using gcc and it supports it (configure |
14 |
# usually detects this anyway now) |
15 |
# -DEBUG_MEM to be able to debug memory allocation (.debug) |
16 |
# this can now be set by using 'make debugmem' |
17 |
CFLGS = |
18 |
|
19 |
# configure SHOULD set these...you may need to tweak them to get modules |
20 |
# to compile .. if you do...let the devel-team know the working settings |
21 |
# btw to turn STRIP off, do 'STRIP = touch' not 'STRIP =' |
22 |
|
23 |
CC = @CC@ |
24 |
LD = @CC@ |
25 |
|
26 |
#making eggmod |
27 |
MOD_CC = @BEL_MOD_CC@ |
28 |
MOD_LD = @BEL_MOD_LD@ |
29 |
MOD_STRIP = @BEL_MOD_STRIP@ |
30 |
DLFLAGS = @DLFLAGS@ |
31 |
|
32 |
#making modules |
33 |
SHLIB_CC = @SHLIB_CC@ |
34 |
SHLIB_LD = @SHLIB_LD@ |
35 |
SHLIB_STRIP = @SHLIB_STRIP@ |
36 |
|
37 |
# configure SHOULD set these properly if not, modify them appropriately |
38 |
# these are the cp commands that make install uses |
39 |
CP1 = @CP1@ |
40 |
CP2 = @CP2@ |
41 |
CP3 = @CP3@ |
42 |
|
43 |
# With any luck this won't burst into flames or cause sterility |
44 |
LN_S = @LN_S@ |
45 |
|
46 |
# STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP # |
47 |
# - - - - - - - - do not edit anything below this line. - - - - - - - - # |
48 |
# - - - - - - - - - it's all done by configure now. - - - - - - - - - # |
49 |
# STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP # |
50 |
|
51 |
|
52 |
# stuff for Tcl |
53 |
XREQ = @TCL_REQS@ |
54 |
TCLLIB = @TCLLIB@ |
55 |
CFLAGS = -c @CFLAGS@ -I.. @DEFS@ ${CFLGS} |
56 |
@SET_MAKE@ |
57 |
|
58 |
all: @DEFAULT_MAKE@ |
59 |
|
60 |
help: |
61 |
@echo "To make eggdrop :" |
62 |
@echo " % make " |
63 |
|
64 |
cleanmods: |
65 |
@cd src/mod; ${MAKE} clean 'MAKE=${MAKE}' |
66 |
|
67 |
clean: cleanmods |
68 |
@rm -f eggdrop egg core DEBUG *.o *.a *.so *.stamp |
69 |
@cd src; rm -f eggdrop egg core DEBUG *.o *.a |
70 |
@cd src/md5; ${MAKE} clean |
71 |
|
72 |
distclean: clean |
73 |
@rm -f Makefile config.cache config.log config.status config.h lush.h |
74 |
@rm -f `find . \( -name '*~' -o -name '*#' -o -name '*.orig' \ |
75 |
-o -name '*.rej' -o -name '*.bak' \) -print` |
76 |
|
77 |
distrib: distclean Makefile.in |
78 |
@rm -rf `find . \( -name "CVS" \) -print` |
79 |
@(echo "all:"; \ |
80 |
echo " @echo \"\""; \ |
81 |
echo " @echo \"Before you can compile your bot you have to configure it.\""; \ |
82 |
echo " @echo \"So please start the configure script now:\""; \ |
83 |
echo " @echo \"\""; \ |
84 |
echo " @echo \" % ./configure\""; \ |
85 |
echo " @echo \"\""; ) > Makefile |
86 |
|
87 |
eggdrop: modegg modules |
88 |
|
89 |
debugmem: memegg debmodules |
90 |
|
91 |
eggdrop.h: |
92 |
@echo You do not have the eggdrop source! |
93 |
@exit 1 |
94 |
|
95 |
OBJS = botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o \ |
96 |
dccutil.o dns.o flags.o language.o main.o mem.o misc.o \ |
97 |
modules.o net.o rfc1459.o tcl.o tcldcc.o tclhash.o \ |
98 |
tclmisc.o tcluser.o userent.o userrec.o users.o md5/md5c.o |
99 |
|
100 |
GMAKE_STATIC = ${MAKE} 'CC=${CC}' 'LD=${LD}' 'OBJS=${OBJS}' \ |
101 |
'STRIP=${MOD_STRIP}' 'CFLAGS=${CFLAGS} -DSTATIC' 'XLIBS=@TCL_LIBS@ @LIBS@' \ |
102 |
'RESLIB=@RESLIB@' |
103 |
|
104 |
GMAKE_SHLIB = ${MAKE} 'CC=${SHLIB_CC}' 'LD=${SHLIB_LD}' \ |
105 |
'STRIP=${SHLIB_STRIP}' 'CFLAGS=${CFLAGS}' 'RESLIB=@RESLIB@' |
106 |
|
107 |
GMAKE_MOD = ${MAKE} 'CC=${MOD_CC}' 'LD=${MOD_LD}' 'OBJS=${OBJS}'\ |
108 |
'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' \ |
109 |
'TCLLIB=${TCLLIB}' 'STRIP=${MOD_STRIP}' 'RANLIB=@RANLIB@' \ |
110 |
'XLIBS=@TCL_LIBS@ @LIBS@' |
111 |
|
112 |
DMAKE_MEM = ${MAKE} 'CC=${MOD_CC}' 'LD=${MOD_LD}' \ |
113 |
'OBJS=${OBJS}' 'CFLAGS=-g3 ${CFLAGS} -DEBUG_MEM' 'XREQ=${XREQ}' \ |
114 |
'TCLLIB=${TCLLIB}' 'STRIP=touch' 'RANLIB=@RANLIB@' \ |
115 |
'XLIBS=@TCL_LIBS@ @LIBS@' |
116 |
|
117 |
DMAKE_SHLIB = ${MAKE} 'CC=${SHLIB_CC}' 'LD=${SHLIB_LD}' \ |
118 |
'STRIP=touch' 'CFLAGS=-g3 ${CFLAGS} -DEBUG_MEM' 'RESLIB=@RESLIB@' |
119 |
|
120 |
static: eggtest |
121 |
@echo "" |
122 |
@echo "Making module objects for static linking..." |
123 |
@echo "" |
124 |
@rm -f src/main.o |
125 |
@cd src/mod; ${GMAKE_STATIC} static |
126 |
@echo "" |
127 |
@echo "Making core eggdrop for static linking..." |
128 |
@echo "" |
129 |
@cd src; ${GMAKE_STATIC} static |
130 |
|
131 |
modegg: modtest |
132 |
@cd src; ${GMAKE_MOD} eggdrop |
133 |
@echo |
134 |
@./eggdrop -v |
135 |
@ls -la eggdrop |
136 |
|
137 |
modules: modtest |
138 |
@cd src/mod; ${GMAKE_SHLIB} modules |
139 |
@echo |
140 |
@echo "modules made:" |
141 |
@ls -la *.so |
142 |
|
143 |
debmodules: modtest |
144 |
@cd src/mod; ${DMAKE_SHLIB} modules |
145 |
@echo |
146 |
@echo "modules made:" |
147 |
@ls -la *.so |
148 |
|
149 |
memegg: modtest |
150 |
@cd src; ${DMAKE_MEM} eggdrop |
151 |
@echo |
152 |
@./eggdrop -v |
153 |
@ls -la eggdrop |
154 |
|
155 |
eggtest: |
156 |
@if [ -f EGGMOD.stamp ]; then \ |
157 |
echo You\'re trying to do a STATIC build of eggdrop when you\'ve;\ |
158 |
echo already run \'make\' for a module build.;\ |
159 |
echo You must first type \"make clean\" before you can build;\ |
160 |
echo a static version.;\ |
161 |
exit 1;\ |
162 |
fi |
163 |
@date >EGGDROP.stamp |
164 |
|
165 |
modtest: |
166 |
@if [ -f EGGDROP.stamp ]; then \ |
167 |
echo You\'re trying to do a MODULE build of eggdrop when you\'ve;\ |
168 |
echo already run \'make\' for a static build.;\ |
169 |
echo You must first type \"make clean\" before you can build;\ |
170 |
echo a module version.;\ |
171 |
exit 1;\ |
172 |
fi |
173 |
@date >EGGMOD.stamp |
174 |
|
175 |
install: @DEFAULT_MAKE@ ainstall |
176 |
|
177 |
dinstall: eggdrop ainstall |
178 |
|
179 |
sinstall: static ainstall |
180 |
|
181 |
ainstall: |
182 |
@if test X$(DEST) = X; then \ |
183 |
echo "You must specify a destination directory with DEST="; \ |
184 |
exit 1; \ |
185 |
fi |
186 |
@if test ! -f eggdrop; then \ |
187 |
echo "You haven't compiled eggdrop yet."; \ |
188 |
exit 1; \ |
189 |
fi |
190 |
@./eggdrop -v |
191 |
@echo |
192 |
@echo Installing in directory: $(DEST). |
193 |
@echo |
194 |
@if test ! -d $(DEST); then \ |
195 |
echo Creating directory: $(DEST).; \ |
196 |
mkdir $(DEST); \ |
197 |
fi |
198 |
@$(CP1) README $(DEST)/ |
199 |
@$(CP1) eggdrop.conf.dist $(DEST)/ |
200 |
@if test ! -d $(DEST)/language; then \ |
201 |
echo Creating language subdirectory.; \ |
202 |
mkdir $(DEST)/language; \ |
203 |
fi |
204 |
@$(CP2) language/* src/mod/*.mod/*.lang $(DEST)/language/ |
205 |
@if test -f $(DEST)/eggdrop; then \ |
206 |
rm -f $(DEST)/oeggdrop; \ |
207 |
fi |
208 |
@if test ! -d $(DEST)/logs; then \ |
209 |
echo Creating logs subdirectory.; \ |
210 |
mkdir $(DEST)/logs; \ |
211 |
$(CP1) logs/CONTENTS $(DEST)/logs/; \ |
212 |
fi |
213 |
@if test ! -d $(DEST)/text; then \ |
214 |
echo Creating text subdirectory.; \ |
215 |
mkdir $(DEST)/text; \ |
216 |
fi |
217 |
@if test ! -f $(DEST)/text/motd; then \ |
218 |
$(CP1) text/motd $(DEST)/text/; \ |
219 |
fi |
220 |
@if test ! -f $(DEST)/text/banner; then \ |
221 |
$(CP1) text/banner $(DEST)/text/; \ |
222 |
fi |
223 |
@if test -h $(DEST)/modules; then \ |
224 |
echo Removing symlink to archival modules directory.; \ |
225 |
rm -f $(DEST)/modules; \ |
226 |
fi |
227 |
@if test -d $(DEST)/modules/; then \ |
228 |
echo Moving old modules into \'modules.old\' directory.; \ |
229 |
rm -rf $(DEST)/modules.old; \ |
230 |
mv -f $(DEST)/modules $(DEST)/modules.old; \ |
231 |
fi |
232 |
@if test ! -d $(DEST)/modules\-${NEWVERSION}/; then \ |
233 |
echo Creating modules\-${NEWVERSION} directory and symlink.; \ |
234 |
mkdir $(DEST)/modules\-${NEWVERSION}; \ |
235 |
fi |
236 |
@$(LN_S) modules\-${NEWVERSION} $(DEST)/modules |
237 |
@if test -f assoc.so; then \ |
238 |
echo Copying new modules.; \ |
239 |
$(CP3) *.so $(DEST)/modules/; \ |
240 |
fi |
241 |
@if test -h $(DEST)/eggdrop; then \ |
242 |
echo Removing symlink to archival eggdrop binary.; \ |
243 |
rm -f $(DEST)/eggdrop; \ |
244 |
fi |
245 |
@if test -f $(DEST)/eggdrop; then \ |
246 |
echo Renamed the old \'eggdrop\' executable to \'oeggdrop\'.; \ |
247 |
mv -f $(DEST)/eggdrop $(DEST)/oeggdrop; \ |
248 |
fi |
249 |
@echo Copying new \'eggdrop\' executable and creating symlink. |
250 |
@$(CP1) eggdrop $(DEST)/eggdrop\-${NEWVERSION} |
251 |
@$(LN_S) eggdrop\-${NEWVERSION} $(DEST)/eggdrop |
252 |
@if test ! -d $(DEST)/doc; then \ |
253 |
echo Creating \'doc\' subdirectory.; \ |
254 |
mkdir $(DEST)/doc; \ |
255 |
fi |
256 |
@echo Copying \'doc\' files. |
257 |
@$(CP2) doc/* $(DEST)/doc/ |
258 |
@if test ! -d $(DEST)/help; then \ |
259 |
echo Creating \'help\' subdirectory.; \ |
260 |
mkdir $(DEST)/help; \ |
261 |
fi |
262 |
@$(CP2) help/* $(DEST)/help/ |
263 |
@if test ! -d $(DEST)/filesys; then \ |
264 |
echo Creating a skeletal \'filesys\' subdirectory.; \ |
265 |
mkdir $(DEST)/filesys; \ |
266 |
mkdir $(DEST)/filesys/incoming; \ |
267 |
fi |
268 |
@if test ! -d $(DEST)/scripts; then \ |
269 |
echo Creating a \'scripts\' subdirectory.; \ |
270 |
mkdir $(DEST)/scripts; \ |
271 |
echo Copying scripts.; \ |
272 |
$(CP2) scripts/* $(DEST)/scripts; \ |
273 |
fi |
274 |
@echo |
275 |
@${MAKE} REALDEST=`cd $(DEST); pwd` install2 |
276 |
@echo |
277 |
@echo Installation completed. |
278 |
@echo You MUST ensure that you edit/verify your configuration file. |
279 |
@echo \'eggdrop.conf.dist\' lists current options. |
280 |
@echo Remember to change directory to $(DEST) before you proceed. |
281 |
|
282 |
install2: |
283 |
@echo Installing mods -- DEST = $(REALDEST) |
284 |
@cd src/mod; ${MAKE} REALDEST=$(REALDEST) install CP1='${CP1}'; cd ../.. |
285 |
|
286 |
#safety hash |