1 |
segfault |
1.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 '{print $4}' | sed s/\"//g | sed s/\;// | sed s/.\*=\ //` |
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 = -DRFC_COMPLIANT |
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 |
|
|
clean: cleanmods |
65 |
|
|
@rm -f eggdrop egg core *.o *.a *.so *~ *.stamp |
66 |
|
|
@cd src ; rm -f eggdrop egg core *.o *.a *~ language/*~ |
67 |
|
|
|
68 |
|
|
cleanmods: |
69 |
|
|
@cd src/mod ; ${MAKE} clean 'MAKE=${MAKE}' |
70 |
|
|
|
71 |
|
|
dist: clean |
72 |
|
|
@rm -f Makefile config.cache config.log config.status config.h lush.h |
73 |
|
|
@rm -f doc/*~ |
74 |
|
|
@echo "all:" >Makefile |
75 |
|
|
@echo " @./configure; make install" >>Makefile |
76 |
|
|
|
77 |
|
|
eggdrop: modegg modules |
78 |
|
|
|
79 |
|
|
debugmem: memegg debmodules |
80 |
|
|
|
81 |
|
|
eggdrop.h: |
82 |
|
|
@echo You do not have the eggdrop source! |
83 |
|
|
@exit 1 |
84 |
|
|
|
85 |
|
|
OBJS = botcmd.o botmsg.o botnet.o chanprog.o cmds.o \ |
86 |
|
|
dcc.o dccutil.o flags.o language.o main.o mem.o misc.o \ |
87 |
|
|
modules.o net.o rfc1459.o \ |
88 |
|
|
tcl.o tcldcc.o tclhash.o tclmisc.o tcluser.o userent.o \ |
89 |
|
|
userrec.o users.o |
90 |
|
|
|
91 |
|
|
GMAKE_STATIC = ${MAKE} 'CC=${CC}' 'LD=${LD}' 'OBJS=${OBJS}'\ |
92 |
|
|
'STRIP=${MOD_STRIP}' 'CFLAGS=${CFLAGS} -DSTATIC' 'XLIBS=@TCL_LIBS@ @LIBS@' |
93 |
|
|
|
94 |
|
|
GMAKE_SHLIB = ${MAKE} 'CC=${SHLIB_CC}' 'LD=${SHLIB_LD}' \ |
95 |
|
|
'STRIP=${SHLIB_STRIP}' 'CFLAGS=${CFLAGS}' |
96 |
|
|
|
97 |
|
|
GMAKE_MOD = ${MAKE} 'CC=${MOD_CC}' 'LD=${MOD_LD}' 'OBJS=${OBJS}'\ |
98 |
|
|
'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' \ |
99 |
|
|
'TCLLIB=${TCLLIB}' 'STRIP=${MOD_STRIP}' 'RANLIB=@RANLIB@' \ |
100 |
|
|
'XLIBS=@TCL_LIBS@ @LIBS@' |
101 |
|
|
|
102 |
|
|
DMAKE_MEM = ${MAKE} 'CC=${MOD_CC} -DEBUG_MEM' 'LD=${MOD_LD} -g' \ |
103 |
|
|
'OBJS=${OBJS}' 'CFLAGS=-g ${CFLAGS}' 'XREQ=${XREQ}' \ |
104 |
|
|
'TCLLIB=${TCLLIB}' 'STRIP=touch' 'RANLIB=@RANLIB@' \ |
105 |
|
|
'XLIBS=@TCL_LIBS@ @LIBS@' |
106 |
|
|
|
107 |
|
|
DMAKE_SHLIB = ${MAKE} 'CC=${SHLIB_CC}' 'LD=${SHLIB_LD} -g' \ |
108 |
|
|
'STRIP=touch' 'CFLAGS=-g ${CFLAGS}' |
109 |
|
|
|
110 |
|
|
static: eggtest |
111 |
|
|
@echo "" |
112 |
|
|
@echo "Making module objects for static linking..." |
113 |
|
|
@echo "" |
114 |
|
|
@rm -f src/main.o |
115 |
|
|
@cd src/mod;${GMAKE_STATIC} static |
116 |
|
|
@echo "" |
117 |
|
|
@echo "Making core eggdrop for static linking..." |
118 |
|
|
@echo "" |
119 |
|
|
@cd src;${GMAKE_STATIC} static |
120 |
|
|
|
121 |
|
|
modegg: modtest |
122 |
|
|
@cd src;${GMAKE_MOD} eggdrop |
123 |
|
|
@echo |
124 |
|
|
@./eggdrop -v |
125 |
|
|
@ls -la eggdrop |
126 |
|
|
|
127 |
|
|
modules: modtest |
128 |
|
|
@cd src/mod;${GMAKE_SHLIB} modules |
129 |
|
|
@echo |
130 |
|
|
@echo "modules made:" |
131 |
|
|
@ls -la *.so |
132 |
|
|
|
133 |
|
|
debmodules: modtest |
134 |
|
|
@cd src/mod;${DMAKE_SHLIB} modules |
135 |
|
|
@echo |
136 |
|
|
@echo "modules made:" |
137 |
|
|
@ls -la *.so |
138 |
|
|
|
139 |
|
|
memegg: modtest |
140 |
|
|
@cd src;${DMAKE_MEM} eggdrop |
141 |
|
|
@echo |
142 |
|
|
@./eggdrop -v |
143 |
|
|
@ls -la eggdrop |
144 |
|
|
|
145 |
|
|
eggtest: |
146 |
|
|
@if [ -f EGGMOD.stamp ]; then \ |
147 |
|
|
echo You\'re trying to do a STATIC build of eggdrop when you\'ve;\ |
148 |
|
|
echo already run \'make\' for a module build.;\ |
149 |
|
|
echo You must first type \"make clean\" before you can build;\ |
150 |
|
|
echo a static version.;\ |
151 |
|
|
exit 1;\ |
152 |
|
|
fi |
153 |
|
|
@date >EGGDROP.stamp |
154 |
|
|
|
155 |
|
|
modtest: |
156 |
|
|
@if [ -f EGGDROP.stamp ]; then \ |
157 |
|
|
echo You\'re trying to do a MODULE build of eggdrop when you\'ve;\ |
158 |
|
|
echo already run \'make\' for a static build.;\ |
159 |
|
|
echo You must first type \"make clean\" before you can build;\ |
160 |
|
|
echo a module version.;\ |
161 |
|
|
exit 1;\ |
162 |
|
|
fi |
163 |
|
|
@date >EGGMOD.stamp |
164 |
|
|
|
165 |
|
|
install: @DEFAULT_MAKE@ ainstall |
166 |
|
|
|
167 |
|
|
dinstall: eggdrop ainstall |
168 |
|
|
|
169 |
|
|
sinstall: static ainstall |
170 |
|
|
|
171 |
|
|
ainstall: |
172 |
|
|
@if test X$(DEST) = X; then \ |
173 |
|
|
echo "You must specify a destination directory with DEST="; \ |
174 |
|
|
exit 1; \ |
175 |
|
|
fi |
176 |
|
|
@if test ! -x eggdrop; then \ |
177 |
|
|
echo "You haven't compiled eggdrop yet."; \ |
178 |
|
|
exit 1; \ |
179 |
|
|
fi |
180 |
|
|
@./eggdrop -v |
181 |
|
|
@echo |
182 |
|
|
@echo Installing in directory: $(DEST). |
183 |
|
|
@echo |
184 |
|
|
@if test ! -d $(DEST); then \ |
185 |
|
|
echo Creating directory: $(DEST).; \ |
186 |
|
|
mkdir $(DEST); \ |
187 |
|
|
fi |
188 |
|
|
@$(CP1) README $(DEST)/ |
189 |
|
|
@$(CP1) eggdrop.conf.dist $(DEST)/ |
190 |
|
|
@if test ! -d $(DEST)/language; then \ |
191 |
|
|
echo Creating language subdirectory.; \ |
192 |
|
|
mkdir $(DEST)/language; \ |
193 |
|
|
fi |
194 |
|
|
@$(CP2) language/* src/mod/*.mod/*.lang $(DEST)/language/ |
195 |
|
|
@if test -r $(DEST)/eggdrop; then \ |
196 |
|
|
rm -f $(DEST)/oeggdrop; \ |
197 |
|
|
fi |
198 |
|
|
@if test ! -r $(DEST)/motd; then \ |
199 |
|
|
$(CP1) motd $(DEST)/; \ |
200 |
|
|
fi |
201 |
|
|
@if test -h $(DEST)/modules; then \ |
202 |
|
|
echo Removing symlink to archival modules directory.; \ |
203 |
|
|
rm -f $(DEST)/modules; \ |
204 |
|
|
fi |
205 |
|
|
@if test -d $(DEST)/modules/; then \ |
206 |
|
|
echo Moving old modules into \'modules.old\' directory.; \ |
207 |
|
|
rm -rf $(DEST)/modules.old; \ |
208 |
|
|
mv -f $(DEST)/modules $(DEST)/modules.old; \ |
209 |
|
|
fi |
210 |
|
|
@if test ! -d $(DEST)/modules\-${NEWVERSION}/; then \ |
211 |
|
|
echo Creating modules\-${NEWVERSION} directory and symlink.; \ |
212 |
|
|
mkdir $(DEST)/modules\-${NEWVERSION}; \ |
213 |
|
|
fi |
214 |
|
|
@$(LN_S) modules\-${NEWVERSION} $(DEST)/modules |
215 |
|
|
@if test -r assoc.so; then \ |
216 |
|
|
echo Copying new modules.; \ |
217 |
|
|
$(CP3) *.so $(DEST)/modules/; \ |
218 |
|
|
fi |
219 |
|
|
@if test -h $(DEST)/eggdrop; then \ |
220 |
|
|
echo Removing symlink to archival eggdrop binary.; \ |
221 |
|
|
rm -f $(DEST)/eggdrop; \ |
222 |
|
|
fi |
223 |
|
|
@if test -r $(DEST)/eggdrop; then \ |
224 |
|
|
echo Renamed the old \'eggdrop\' executable to \'oeggdrop\'.; \ |
225 |
|
|
mv -f $(DEST)/eggdrop $(DEST)/oeggdrop; \ |
226 |
|
|
fi |
227 |
|
|
@echo Copying new \'eggdrop\' executable and creating symlink. |
228 |
|
|
@$(CP1) eggdrop $(DEST)/eggdrop\-${NEWVERSION} |
229 |
|
|
@$(LN_S) eggdrop\-${NEWVERSION} $(DEST)/eggdrop |
230 |
|
|
@if test ! -d $(DEST)/doc; then \ |
231 |
|
|
echo Creating \'doc\' subdirectory.; \ |
232 |
|
|
mkdir $(DEST)/doc; \ |
233 |
|
|
fi |
234 |
|
|
@echo Copying \'doc\' files. |
235 |
|
|
@$(CP2) doc/* $(DEST)/doc/ |
236 |
|
|
@if test ! -d $(DEST)/help; then \ |
237 |
|
|
echo Creating \'help\' subdirectory.; \ |
238 |
|
|
mkdir $(DEST)/help; \ |
239 |
|
|
fi |
240 |
|
|
@$(CP2) help/* $(DEST)/help/ |
241 |
|
|
@if test ! -d $(DEST)/filesys; then \ |
242 |
|
|
echo Creating a skeletal \'filesys\' subdirectory.; \ |
243 |
|
|
mkdir $(DEST)/filesys; \ |
244 |
|
|
mkdir $(DEST)/filesys/incoming; \ |
245 |
|
|
fi |
246 |
|
|
@if test ! -d $(DEST)/scripts; then \ |
247 |
|
|
echo Creating a \'scripts\' subdirectory.; \ |
248 |
|
|
mkdir $(DEST)/scripts; \ |
249 |
|
|
echo Copying scripts.; \ |
250 |
|
|
$(CP2) scripts/* $(DEST)/scripts; \ |
251 |
|
|
fi |
252 |
|
|
@echo |
253 |
|
|
@${MAKE} REALDEST=`cd $(DEST);pwd` install2 |
254 |
|
|
@echo |
255 |
|
|
@echo Installation completed. |
256 |
|
|
@echo You MUST ensure that you edit/verify your configuration file. |
257 |
|
|
@echo \'eggdrop.conf.dist\' lists current options. |
258 |
|
|
@echo Remember to change directory to $(DEST) before you proceed. |
259 |
|
|
|
260 |
|
|
install2: |
261 |
|
|
@echo Installing mods -- DEST = $(REALDEST) |
262 |
|
|
@cd src/mod;${MAKE} REALDEST=$(REALDEST) install CP1='${CP1}'; cd ../.. |
263 |
|
|
|
264 |
|
|
#safety hash |