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