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