]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - .Makefile.inc
Integrate OSX patches from BuildSmart, plus a few tweaks and fixes
[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 DARWIN = @IS_DARWIN@
10
11 CC = @CC@
12 MAKE = @MAKEPROG@
13 PROGS = inspircd
14 FLAGS = @FLAGS@
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 MODULES = @MODULES@
22 STATICLIBS = @STATICLIBS@
23 INSTMODE = 0700
24 MAKEARGS = 'PROGS=${PROGS}' 'FLAGS=${FLAGS}' 'CC=${CC}' 'LDLIBS=${LDLIBS}' 'MODULES=${MODULES}' 'MODPATH=${MODPATH}' 'LIBPATH=${LIBPATH}' 'STATICLIBS=${STATICLIBS}' 'INSTMODE=${INSTMODE}'
25
26 all : @MAKEORDER@ finishmessage
27
28 mods:
29         @echo "Making modules..."
30         ${MAKE} -C src/modules DIRNAME="src/modules" $(MAKEARGS)
31
32 # Make this depend on 'ircd' and 'mods', so its always output last even with -j
33 finishmessage: ircd mods
34         @echo ""
35         @echo "*************************************"
36         @echo "*        BUILD COMPLETE!            *"
37         @echo "*                                   *"
38         @echo "*   To install InspIRCd, type:      *"
39         @echo "*         make install              *"
40         @echo "*************************************"
41
42 ircd:
43         @echo "*************************************"
44         @echo "*       BUILDING INSPIRCD           *"
45         @echo "*                                   *"
46         @echo "*   This will take a *long* time.   *"
47         @echo "*     Why not read our wiki at      *"
48         @echo "*   http://www.inspircd.org/wiki    *"
49         @echo "*  while you wait for make to run?  *"
50         @echo "*************************************"
51         ${MAKE} -C src DIRNAME="src" $(MAKEARGS)
52
53 install: all
54         @-install -d -m $(INSTMODE) ${BASE}
55         @-install -d -m $(INSTMODE) $(LIBPATH)
56         @-install -d -m $(INSTMODE) $(BINPATH)
57         @-install -d -m $(INSTMODE) $(CONPATH)
58         @-install -d -m $(INSTMODE) ${MODPATH}
59 ifeq ($(DARWIN),YES)
60         -install -m $(INSTMODE) src/libIRCDasyncdns.dylib $(LIBPATH)
61         -install -m $(INSTMODE) src/libIRCDbase.dylib $(LIBPATH)
62         -install -m $(INSTMODE) src/libIRCDchannels.dylib $(LIBPATH)
63         -install -m $(INSTMODE) src/libIRCDcommand_parse.dylib $(LIBPATH)
64         -install -m $(INSTMODE) src/libIRCDcommands.dylib $(LIBPATH)
65         -install -m $(INSTMODE) src/libIRCDconfigreader.dylib $(LIBPATH)
66         -install -m $(INSTMODE) src/libIRCDcull_list.dylib $(LIBPATH)
67         -install -m $(INSTMODE) src/libIRCDdynamic.dylib $(LIBPATH)
68         -install -m $(INSTMODE) src/libIRCDhash.dylib $(LIBPATH)
69         -install -m $(INSTMODE) src/libIRCDhelper.dylib $(LIBPATH)
70         -install -m $(INSTMODE) src/libIRCDinspsocket.dylib $(LIBPATH)
71         -install -m $(INSTMODE) src/libIRCDmode.dylib $(LIBPATH)
72         -install -m $(INSTMODE) src/libIRCDmodules.dylib $(LIBPATH)
73         -install -m $(INSTMODE) src/libIRCDsocket.dylib $(LIBPATH)
74         -install -m $(INSTMODE) src/libIRCDsocketengine.dylib $(LIBPATH)
75         -install -m $(INSTMODE) src/libIRCDstring.dylib $(LIBPATH)
76         -install -m $(INSTMODE) src/libIRCDuserprocess.dylib $(LIBPATH)
77         -install -m $(INSTMODE) src/libIRCDusers.dylib $(LIBPATH)
78         -install -m $(INSTMODE) src/libIRCDwildcard.dylib $(LIBPATH)
79         -install -m $(INSTMODE) src/libIRCDxline.dylib $(LIBPATH)
80         -install -m $(INSTMODE) src/libIRCDtimer.dylib $(LIBPATH)
81         -install -m $(INSTMODE) src/libIRCDsnomasks.dylib $(LIBPATH)
82 else
83         -install -m $(INSTMODE) src/libIRCDasyncdns.so $(LIBPATH)
84         -install -m $(INSTMODE) src/libIRCDbase.so $(LIBPATH)
85         -install -m $(INSTMODE) src/libIRCDchannels.so $(LIBPATH)
86         -install -m $(INSTMODE) src/libIRCDcommand_parse.so $(LIBPATH)
87         -install -m $(INSTMODE) src/libIRCDcommands.so $(LIBPATH)
88         -install -m $(INSTMODE) src/libIRCDconfigreader.so $(LIBPATH)
89         -install -m $(INSTMODE) src/libIRCDcull_list.so $(LIBPATH)
90         -install -m $(INSTMODE) src/libIRCDdynamic.so $(LIBPATH)
91         -install -m $(INSTMODE) src/libIRCDhash.so $(LIBPATH)
92         -install -m $(INSTMODE) src/libIRCDhelper.so $(LIBPATH)
93         -install -m $(INSTMODE) src/libIRCDinspsocket.so $(LIBPATH)
94         -install -m $(INSTMODE) src/libIRCDmode.so $(LIBPATH)
95         -install -m $(INSTMODE) src/libIRCDmodules.so $(LIBPATH)
96         -install -m $(INSTMODE) src/libIRCDsocket.so $(LIBPATH)
97         -install -m $(INSTMODE) src/libIRCDsocketengine.so $(LIBPATH)
98         -install -m $(INSTMODE) src/libIRCDstring.so $(LIBPATH)
99         -install -m $(INSTMODE) src/libIRCDuserprocess.so $(LIBPATH)
100         -install -m $(INSTMODE) src/libIRCDusers.so $(LIBPATH)
101         -install -m $(INSTMODE) src/libIRCDwildcard.so $(LIBPATH)
102         -install -m $(INSTMODE) src/libIRCDxline.so $(LIBPATH)
103         -install -m $(INSTMODE) src/libIRCDtimer.so $(LIBPATH)
104         -install -m $(INSTMODE) src/libIRCDsnomasks.so $(LIBPATH)
105 endif
106         -install -m $(INSTMODE) src/inspircd $(BINPATH)
107         -install -m $(INSTMODE) inspircd $(BASE) 2>/dev/null
108         -install -m $(INSTMODE) src/cmd_admin.so $(LIBPATH)
109         -install -m $(INSTMODE) src/cmd_away.so $(LIBPATH)
110         -install -m $(INSTMODE) src/cmd_clearcache.so $(LIBPATH)
111         -install -m $(INSTMODE) src/cmd_commands.so $(LIBPATH)
112         -install -m $(INSTMODE) src/cmd_connect.so $(LIBPATH)
113         -install -m $(INSTMODE) src/cmd_die.so $(LIBPATH)
114         -install -m $(INSTMODE) src/cmd_eline.so $(LIBPATH)
115         -install -m $(INSTMODE) src/cmd_gline.so $(LIBPATH)
116         -install -m $(INSTMODE) src/cmd_info.so $(LIBPATH)
117         -install -m $(INSTMODE) src/cmd_invite.so $(LIBPATH)
118         -install -m $(INSTMODE) src/cmd_ison.so $(LIBPATH)
119         -install -m $(INSTMODE) src/cmd_join.so $(LIBPATH)
120         -install -m $(INSTMODE) src/cmd_kick.so $(LIBPATH)
121         -install -m $(INSTMODE) src/cmd_kill.so $(LIBPATH)
122         -install -m $(INSTMODE) src/cmd_kline.so $(LIBPATH)
123         -install -m $(INSTMODE) src/cmd_links.so $(LIBPATH)
124         -install -m $(INSTMODE) src/cmd_list.so $(LIBPATH)
125         -install -m $(INSTMODE) src/cmd_loadmodule.so $(LIBPATH)
126         -install -m $(INSTMODE) src/cmd_lusers.so $(LIBPATH)
127         -install -m $(INSTMODE) src/cmd_map.so $(LIBPATH)
128         -install -m $(INSTMODE) src/cmd_modules.so $(LIBPATH)
129         -install -m $(INSTMODE) src/cmd_motd.so $(LIBPATH)
130         -install -m $(INSTMODE) src/cmd_names.so $(LIBPATH)
131         -install -m $(INSTMODE) src/cmd_nick.so $(LIBPATH)
132         -install -m $(INSTMODE) src/cmd_notice.so $(LIBPATH)
133         -install -m $(INSTMODE) src/cmd_oper.so $(LIBPATH)
134         -install -m $(INSTMODE) src/cmd_part.so $(LIBPATH)
135         -install -m $(INSTMODE) src/cmd_pass.so $(LIBPATH)
136         -install -m $(INSTMODE) src/cmd_ping.so $(LIBPATH)
137         -install -m $(INSTMODE) src/cmd_pong.so $(LIBPATH)
138         -install -m $(INSTMODE) src/cmd_privmsg.so $(LIBPATH)
139         -install -m $(INSTMODE) src/cmd_qline.so $(LIBPATH)
140         -install -m $(INSTMODE) src/cmd_quit.so $(LIBPATH)
141         -install -m $(INSTMODE) src/cmd_rehash.so $(LIBPATH)
142         -install -m $(INSTMODE) src/cmd_restart.so $(LIBPATH)
143         -install -m $(INSTMODE) src/cmd_rules.so $(LIBPATH)
144         -install -m $(INSTMODE) src/cmd_server.so $(LIBPATH)
145         -install -m $(INSTMODE) src/cmd_squit.so $(LIBPATH)
146         -install -m $(INSTMODE) src/cmd_stats.so $(LIBPATH)
147         -install -m $(INSTMODE) src/cmd_summon.so $(LIBPATH)
148         -install -m $(INSTMODE) src/cmd_time.so $(LIBPATH)
149         -install -m $(INSTMODE) src/cmd_topic.so $(LIBPATH)
150         -install -m $(INSTMODE) src/cmd_trace.so $(LIBPATH)
151         -install -m $(INSTMODE) src/cmd_unloadmodule.so $(LIBPATH)
152         -install -m $(INSTMODE) src/cmd_user.so $(LIBPATH)
153         -install -m $(INSTMODE) src/cmd_userhost.so $(LIBPATH)
154         -install -m $(INSTMODE) src/cmd_users.so $(LIBPATH)
155         -install -m $(INSTMODE) src/cmd_version.so $(LIBPATH)
156         -install -m $(INSTMODE) src/cmd_wallops.so $(LIBPATH)
157         -install -m $(INSTMODE) src/cmd_who.so $(LIBPATH)
158         -install -m $(INSTMODE) src/cmd_whois.so $(LIBPATH)
159         -install -m $(INSTMODE) src/cmd_whowas.so $(LIBPATH)
160         -install -m $(INSTMODE) src/cmd_zline.so $(LIBPATH)
161         -install -m $(INSTMODE) src/cmd_mode.so $(LIBPATH)
162         @-cp .gdbargs $(BASE)
163         @-cp conf/inspircd.quotes.example $(CONPATH)
164         @-cp conf/inspircd.rules.example $(CONPATH)
165         @-cp conf/inspircd.motd.example $(CONPATH)
166         @-cp conf/inspircd.helpop-full.example $(CONPATH)
167         @-cp conf/inspircd.helpop.example $(CONPATH)
168         @-cp conf/inspircd.censor.example $(CONPATH)
169         @-cp conf/inspircd.filter.example $(CONPATH)
170         @-cp conf/key.pem $(CONPATH)
171         @-cp conf/cert.pem $(CONPATH)
172         @-cp docs/inspircd.conf.example $(CONPATH)
173         ${MAKE} modinstall
174
175 modinstall: mods
176         ${MAKE} -C src/modules DIRNAME="src/modules" $(MAKEARGS) modinst
177         @echo ""
178         @echo "*************************************"
179         @echo "*        INSTALL COMPLETE!          *"
180         @echo "*                                   *"
181         @echo "* It is safe to ignore any messages *"
182         @echo "* related to copying of conf files. *"
183         @echo "*                                   *"
184         @echo "* REMEMBER TO EDIT YOUR CONFIG FILE *"
185         @echo "*************************************"
186
187 module:
188         ${MAKE} -C src/modules DIRNAME="src/modules" $(MAKEARGS) ${name}
189
190 clean:
191         @echo Cleaning...
192         @rm -rvf src/*.dylib src/*.so 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
193         @echo Completed.
194
195 modclean:
196         rm -rf modules/*.so
197         rm -rf src/modules/*.so
198         rm -rf src/modules/*.o
199         rm -rf src/modules/*/*.so
200         rm -rf src/modules/*/*.o
201         rm -rf lib/*.so
202         rm -f bin/inspircd
203
204 squeakyclean: distclean
205
206 distclean: modclean clean
207