]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - .Makefile.inc
Add and properly test the ability for an InspTimer to DelTimer itself from within...
[user/henk/code/inspircd.git] / .Makefile.inc
1 # Inspircd Main Makefile
2 #
3 # (C) ChatSpike development team
4 # DO NOT MODIFY UNLESS YOU KNOW WHAT YOU ARE DOING!
5 #####
6 # Original Makefile & ./configure by <Craig@ChatSpike.net>
7 # Small modifications by <brain@ChatSpike.net>
8 #
9
10 CC = @CC@
11 MAKE = @MAKEPROG@
12 PROGS = inspircd
13 FLAGS = @FLAGS@
14 DEBUG = @DEVELOPER@
15 LDLIBS = @LDLIBS@
16 BASE = $(DESTDIR)@BASE_DIR@
17 CONPATH = $(DESTDIR)@CONFIG_DIR@
18 MODPATH = $(DESTDIR)@MODULE_DIR@
19 BINPATH = $(DESTDIR)@BINARY_DIR@
20 LIBPATH = $(DESTDIR)@LIBRARY_DIR@
21 LIB_EXT = @LIBRARY_EXT@
22 MODULES = @MODULES@
23 STATICLIBS = @STATICLIBS@
24 INSTMODE = 0700
25 MAKEARGS = 'PROGS=${PROGS}' 'FLAGS=${FLAGS}' 'CC=${CC}' 'LDLIBS=${LDLIBS}' 'MODULES=${MODULES}' 'MODPATH=${MODPATH}' 'LIBPATH=${LIBPATH}' 'STATICLIBS=${STATICLIBS}' 'INSTMODE=${INSTMODE}'
26
27 all: @MAKEORDER@ finishmessage
28
29 debug:
30         @echo ""
31         @echo "*************************************"
32         @echo "*    BUILDING WITH DEBUG SYMBOLS    *"
33         @echo "*                                   *"
34         @echo "*  Please be aware that this build  *"
35         @echo "*  will consume a very large amount *"
36         @echo "*   of disk space (350mb+) and may  *"
37         @echo "*  run noticably slower. Only build *"
38         @echo "*   InspIRCd with debug symbols if  *"
39         @echo "* you are developing modules or are *"
40         @echo "*      experiencing problems.       *"
41         @echo "*                                   *"
42         @echo "*************************************"
43         ${MAKE} -C . 'FLAGS=${DEBUG}' all
44
45 mods:
46         @echo "Making modules..."
47         ${MAKE} -C src/modules DIRNAME="src/modules" $(MAKEARGS)
48
49 # Make this depend on 'ircd' and 'mods', so its always output last even with -j
50 finishmessage: ircd mods
51         @echo ""
52         @echo "*************************************"
53         @echo "*        BUILD COMPLETE!            *"
54         @echo "*                                   *"
55         @echo "*   To install InspIRCd, type:      *"
56         @echo "*         make install              *"
57         @echo "*************************************"
58
59 ircd:
60         @echo "*************************************"
61         @echo "*       BUILDING INSPIRCD           *"
62         @echo "*                                   *"
63         @echo "*   This will take a *long* time.   *"
64         @echo "*     Why not read our wiki at      *"
65         @echo "*   http://www.inspircd.org/wiki    *"
66         @echo "*  while you wait for make to run?  *"
67         @echo "*************************************"
68         ${MAKE} -C src DIRNAME="src" $(MAKEARGS)
69
70 install: all
71         @-install -d -m $(INSTMODE) ${BASE}
72         @-install -d -m $(INSTMODE) $(LIBPATH)
73         @-install -d -m $(INSTMODE) $(BINPATH)
74         @-install -d -m $(INSTMODE) $(CONPATH)
75         @-install -d -m $(INSTMODE) ${MODPATH}
76         -install -m $(INSTMODE) src/libIRCDasyncdns.$(LIB_EXT) $(LIBPATH)
77         -install -m $(INSTMODE) src/libIRCDbase.$(LIB_EXT) $(LIBPATH)
78         -install -m $(INSTMODE) src/libIRCDchannels.$(LIB_EXT) $(LIBPATH)
79         -install -m $(INSTMODE) src/libIRCDcommand_parse.$(LIB_EXT) $(LIBPATH)
80         -install -m $(INSTMODE) src/libIRCDcommands.$(LIB_EXT) $(LIBPATH)
81         -install -m $(INSTMODE) src/libIRCDconfigreader.$(LIB_EXT) $(LIBPATH)
82         -install -m $(INSTMODE) src/libIRCDcull_list.$(LIB_EXT) $(LIBPATH)
83         -install -m $(INSTMODE) src/libIRCDdynamic.$(LIB_EXT) $(LIBPATH)
84         -install -m $(INSTMODE) src/libIRCDhash.$(LIB_EXT) $(LIBPATH)
85         -install -m $(INSTMODE) src/libIRCDhelper.$(LIB_EXT) $(LIBPATH)
86         -install -m $(INSTMODE) src/libIRCDinspsocket.$(LIB_EXT) $(LIBPATH)
87         -install -m $(INSTMODE) src/libIRCDmode.$(LIB_EXT) $(LIBPATH)
88         -install -m $(INSTMODE) src/libIRCDmodules.$(LIB_EXT) $(LIBPATH)
89         -install -m $(INSTMODE) src/libIRCDsocket.$(LIB_EXT) $(LIBPATH)
90         -install -m $(INSTMODE) src/libIRCDsocketengine.$(LIB_EXT) $(LIBPATH)
91         -install -m $(INSTMODE) src/libIRCDstring.$(LIB_EXT) $(LIBPATH)
92         -install -m $(INSTMODE) src/libIRCDuserprocess.$(LIB_EXT) $(LIBPATH)
93         -install -m $(INSTMODE) src/libIRCDusers.$(LIB_EXT) $(LIBPATH)
94         -install -m $(INSTMODE) src/libIRCDwildcard.$(LIB_EXT) $(LIBPATH)
95         -install -m $(INSTMODE) src/libIRCDxline.$(LIB_EXT) $(LIBPATH)
96         -install -m $(INSTMODE) src/libIRCDtimer.$(LIB_EXT) $(LIBPATH)
97         -install -m $(INSTMODE) src/libIRCDsnomasks.$(LIB_EXT) $(LIBPATH)
98         -install -m $(INSTMODE) src/inspircd $(BINPATH)
99         -install -m $(INSTMODE) inspircd $(BASE) 2>/dev/null
100         -install -m $(INSTMODE) src/cmd_admin.so $(LIBPATH)
101         -install -m $(INSTMODE) src/cmd_away.so $(LIBPATH)
102         -install -m $(INSTMODE) src/cmd_clearcache.so $(LIBPATH)
103         -install -m $(INSTMODE) src/cmd_commands.so $(LIBPATH)
104         -install -m $(INSTMODE) src/cmd_connect.so $(LIBPATH)
105         -install -m $(INSTMODE) src/cmd_die.so $(LIBPATH)
106         -install -m $(INSTMODE) src/cmd_eline.so $(LIBPATH)
107         -install -m $(INSTMODE) src/cmd_gline.so $(LIBPATH)
108         -install -m $(INSTMODE) src/cmd_info.so $(LIBPATH)
109         -install -m $(INSTMODE) src/cmd_invite.so $(LIBPATH)
110         -install -m $(INSTMODE) src/cmd_ison.so $(LIBPATH)
111         -install -m $(INSTMODE) src/cmd_join.so $(LIBPATH)
112         -install -m $(INSTMODE) src/cmd_kick.so $(LIBPATH)
113         -install -m $(INSTMODE) src/cmd_kill.so $(LIBPATH)
114         -install -m $(INSTMODE) src/cmd_kline.so $(LIBPATH)
115         -install -m $(INSTMODE) src/cmd_links.so $(LIBPATH)
116         -install -m $(INSTMODE) src/cmd_list.so $(LIBPATH)
117         -install -m $(INSTMODE) src/cmd_loadmodule.so $(LIBPATH)
118         -install -m $(INSTMODE) src/cmd_lusers.so $(LIBPATH)
119         -install -m $(INSTMODE) src/cmd_map.so $(LIBPATH)
120         -install -m $(INSTMODE) src/cmd_modules.so $(LIBPATH)
121         -install -m $(INSTMODE) src/cmd_motd.so $(LIBPATH)
122         -install -m $(INSTMODE) src/cmd_names.so $(LIBPATH)
123         -install -m $(INSTMODE) src/cmd_nick.so $(LIBPATH)
124         -install -m $(INSTMODE) src/cmd_notice.so $(LIBPATH)
125         -install -m $(INSTMODE) src/cmd_oper.so $(LIBPATH)
126         -install -m $(INSTMODE) src/cmd_part.so $(LIBPATH)
127         -install -m $(INSTMODE) src/cmd_pass.so $(LIBPATH)
128         -install -m $(INSTMODE) src/cmd_ping.so $(LIBPATH)
129         -install -m $(INSTMODE) src/cmd_pong.so $(LIBPATH)
130         -install -m $(INSTMODE) src/cmd_privmsg.so $(LIBPATH)
131         -install -m $(INSTMODE) src/cmd_qline.so $(LIBPATH)
132         -install -m $(INSTMODE) src/cmd_quit.so $(LIBPATH)
133         -install -m $(INSTMODE) src/cmd_rehash.so $(LIBPATH)
134         -install -m $(INSTMODE) src/cmd_restart.so $(LIBPATH)
135         -install -m $(INSTMODE) src/cmd_rules.so $(LIBPATH)
136         -install -m $(INSTMODE) src/cmd_server.so $(LIBPATH)
137         -install -m $(INSTMODE) src/cmd_squit.so $(LIBPATH)
138         -install -m $(INSTMODE) src/cmd_stats.so $(LIBPATH)
139         -install -m $(INSTMODE) src/cmd_summon.so $(LIBPATH)
140         -install -m $(INSTMODE) src/cmd_time.so $(LIBPATH)
141         -install -m $(INSTMODE) src/cmd_topic.so $(LIBPATH)
142         -install -m $(INSTMODE) src/cmd_trace.so $(LIBPATH)
143         -install -m $(INSTMODE) src/cmd_unloadmodule.so $(LIBPATH)
144         -install -m $(INSTMODE) src/cmd_user.so $(LIBPATH)
145         -install -m $(INSTMODE) src/cmd_userhost.so $(LIBPATH)
146         -install -m $(INSTMODE) src/cmd_users.so $(LIBPATH)
147         -install -m $(INSTMODE) src/cmd_version.so $(LIBPATH)
148         -install -m $(INSTMODE) src/cmd_wallops.so $(LIBPATH)
149         -install -m $(INSTMODE) src/cmd_who.so $(LIBPATH)
150         -install -m $(INSTMODE) src/cmd_whois.so $(LIBPATH)
151         -install -m $(INSTMODE) src/cmd_whowas.so $(LIBPATH)
152         -install -m $(INSTMODE) src/cmd_zline.so $(LIBPATH)
153         -install -m $(INSTMODE) src/cmd_mode.so $(LIBPATH)
154         @-cp .gdbargs $(BASE)
155         @-cp conf/inspircd.quotes.example $(CONPATH)
156         @-cp conf/inspircd.rules.example $(CONPATH)
157         @-cp conf/inspircd.motd.example $(CONPATH)
158         @-cp conf/inspircd.helpop-full.example $(CONPATH)
159         @-cp conf/inspircd.helpop.example $(CONPATH)
160         @-cp conf/inspircd.censor.example $(CONPATH)
161         @-cp conf/inspircd.filter.example $(CONPATH)
162         @-cp conf/key.pem $(CONPATH)
163         @-cp conf/cert.pem $(CONPATH)
164         @-cp docs/inspircd.conf.example $(CONPATH)
165         ${MAKE} modinstall
166
167 modinstall: mods
168         ${MAKE} -C src/modules DIRNAME="src/modules" $(MAKEARGS) modinst
169         @echo ""
170         @echo "*************************************"
171         @echo "*        INSTALL COMPLETE!          *"
172         @echo "*                                   *"
173         @echo "* It is safe to ignore any messages *"
174         @echo "* related to copying of conf files. *"
175         @echo "*                                   *"
176         @echo "* REMEMBER TO EDIT YOUR CONFIG FILE *"
177         @echo "*************************************"
178
179 module:
180         ${MAKE} -C src/modules DIRNAME="src/modules" $(MAKEARGS) ${name}
181
182 clean:
183         @echo Cleaning...
184         @rm -rvf src/*.so src/*.dylib src/*.o src/inspircd src/modules/*.so src/modules/*.o *~ src/*~ src/modules/*~ src/modules/extra/*~ src/modes/*~ src/modes/*.o src/modes/*.a src/modules/*/*.o src/modules/*/*.so
185         @echo Completed.
186
187 modclean:
188         rm -rf modules/*.so
189         rm -rf src/modules/*.so
190         rm -rf src/modules/*.o
191         rm -rf src/modules/*/*.so
192         rm -rf src/modules/*/*.o
193         rm -rf lib/*.so
194         rm -f bin/inspircd
195
196 squeakyclean: distclean
197
198 distclean: modclean clean
199