1 |
# Copyright © 2007 Pippijn van Steenhoven / The Ermyth Team |
2 |
# Copyright © 2005 Atheme Development Group |
3 |
# Rights to this code are documented in doc/pod/license.pod. |
4 |
# |
5 |
# This file contains build instructions. |
6 |
# |
7 |
# $Id: Makefile.in,v 1.4 2007-07-21 15:55:13 pippijn Exp $ |
8 |
# |
9 |
|
10 |
CXX = @CXX@ |
11 |
RM = @RM@ |
12 |
MV = @MV@ |
13 |
CP = @CP@ |
14 |
INSTALL = @INSTALL@ |
15 |
prefix = @prefix@ |
16 |
exec_prefix = @exec_prefix@ |
17 |
datarootdir = @datarootdir@ |
18 |
bindir = @bindir@ |
19 |
datadir = @datadir@ |
20 |
sysconfdir = @sysconfdir@ |
21 |
libdir = @libdir@ |
22 |
sbindir = @sbindir@ |
23 |
localstatedir = @localstatedir@ |
24 |
DOCDIR = @DOCDIR@ |
25 |
MODDIR = @MODDIR@ |
26 |
DATADIR = @DATADIR@ |
27 |
RUNDIR = @RUNDIR@ |
28 |
LOGDIR = @LOGDIR@ |
29 |
SHAREDIR = @SHAREDIR@ |
30 |
BIN = @PACKAGE_NAME@@EXEEXT@ |
31 |
LIB = lib@PACKAGE_NAME@.so |
32 |
MKDEP = @MKDEP@ |
33 |
CXXFLAGS = @CXXFLAGS@ -I../include -DBINDIR=\"$(bindir)\" |
34 |
PICFLAGS = @PICFLAGS@ |
35 |
|
36 |
VERSION = @PACKAGE_VERSION@ |
37 |
|
38 |
LIBS = @LIBS@ |
39 |
LDFLAGS = @LDFLAGS@ @LTLIBINTL@ |
40 |
RPATH = @RPATH@ |
41 |
CPPFLAGS = @CPPFLAGS@ |
42 |
SOCKET_ENGINE = @SOCKET_ENGINE@.C |
43 |
|
44 |
# Want absolute paths? |
45 |
SRCDIR = . |
46 |
@ABSPATHS@SRCDIR= @SRCDIR@/src |
47 |
|
48 |
BUILDDIR = @BUILDDIR@ |
49 |
|
50 |
default: all |
51 |
|
52 |
ACCOUNT_SRCS = \ |
53 |
$(SRCDIR)/account.C \ |
54 |
$(SRCDIR)/account/chanacs.C \ |
55 |
$(SRCDIR)/account/metadata.C \ |
56 |
$(SRCDIR)/account/mychan.C \ |
57 |
$(SRCDIR)/account/mynick.C \ |
58 |
$(SRCDIR)/account/myuser.C |
59 |
|
60 |
LIB_SRCS = \ |
61 |
$(SRCDIR)/arc4random.C \ |
62 |
$(SRCDIR)/authcookie.C \ |
63 |
$(SRCDIR)/balloc.C \ |
64 |
$(SRCDIR)/base64.C \ |
65 |
$(SRCDIR)/callback.C \ |
66 |
$(SRCDIR)/channels.C \ |
67 |
$(SRCDIR)/cidr.C \ |
68 |
$(SRCDIR)/cmode.C \ |
69 |
$(SRCDIR)/commandtree.C \ |
70 |
$(SRCDIR)/ctcp-common.C \ |
71 |
$(SRCDIR)/conf.C \ |
72 |
$(SRCDIR)/confparse.C \ |
73 |
$(SRCDIR)/connection.C \ |
74 |
$(SRCDIR)/crypto.C \ |
75 |
$(SRCDIR)/datastream.C \ |
76 |
$(SRCDIR)/dictionary.C \ |
77 |
$(SRCDIR)/dlink.C \ |
78 |
$(SRCDIR)/event.C \ |
79 |
$(SRCDIR)/flags.C \ |
80 |
$(SRCDIR)/function.C \ |
81 |
$(SRCDIR)/global.C \ |
82 |
$(SRCDIR)/help.C \ |
83 |
$(SRCDIR)/hook.C \ |
84 |
$(SRCDIR)/linker.C \ |
85 |
$(SRCDIR)/logger.C \ |
86 |
$(SRCDIR)/match.C \ |
87 |
$(SRCDIR)/md5.C \ |
88 |
$(SRCDIR)/memory.C \ |
89 |
$(SRCDIR)/module.C \ |
90 |
$(SRCDIR)/node.C \ |
91 |
$(SRCDIR)/object.C \ |
92 |
$(SRCDIR)/packet.C \ |
93 |
$(SRCDIR)/parse.C \ |
94 |
$(SRCDIR)/phandler.C \ |
95 |
$(SRCDIR)/pmodule.C \ |
96 |
$(SRCDIR)/privs.C \ |
97 |
$(SRCDIR)/ptasks.C \ |
98 |
$(SRCDIR)/send.C \ |
99 |
$(SRCDIR)/servers.C \ |
100 |
$(SRCDIR)/services.C \ |
101 |
$(SRCDIR)/servtree.C \ |
102 |
$(SRCDIR)/signal.C \ |
103 |
$(SRCDIR)/string.C \ |
104 |
$(SRCDIR)/svsignore.C \ |
105 |
$(SRCDIR)/table.C \ |
106 |
$(SRCDIR)/template.C \ |
107 |
$(SRCDIR)/tokenize.C \ |
108 |
$(SRCDIR)/ubase64.C \ |
109 |
$(SRCDIR)/users.C \ |
110 |
$(SRCDIR)/uid.C \ |
111 |
$(SRCDIR)/uplink.C \ |
112 |
$(SRCDIR)/${SOCKET_ENGINE} |
113 |
|
114 |
SRCS = ${ACCOUNT_SRCS} ${LIB_SRCS} $(SRCDIR)/version.C |
115 |
|
116 |
OBJS = ${SRCS:.C=.o} |
117 |
|
118 |
all: ${BIN} ../dist/example.userserv.conf |
119 |
|
120 |
build: all |
121 |
|
122 |
${BIN}: main.C ${LIB} |
123 |
@echo " LD $@" |
124 |
@${CXX} -L${SRCDIR} -l@PACKAGE_NAME@ ${CXXFLAGS} ${LIBS} ${LDFLAGS} main.C -o $@ |
125 |
|
126 |
${LIB}: $(OBJS) |
127 |
@echo " LD $@" |
128 |
@${CXX} ${PICFLAGS} ${OBJS} ${LIBS} ${LDFLAGS} -o $@ |
129 |
@$(MV) version.C version.C.last |
130 |
|
131 |
../dist/example.userserv.conf: ../dist/example.conf |
132 |
(echo '/* example.userserv.conf, autogenerated from example.conf */'; \ |
133 |
sed -e 's@loadmodule "modules/nickserv/identify";@#&@' \ |
134 |
-e 's@loadmodule "modules/nickserv/ghost";@#&@' \ |
135 |
-e 's@#loadmodule "modules/nickserv/login";@loadmodule "modules/nickserv/login";@' \ |
136 |
-e 's/spam;/#spam;/' \ |
137 |
-e 's/#no_nick_ownership;/no_nick_ownership;/' \ |
138 |
-e 's/nick = "NickServ";/nick = "UserServ";/' \ |
139 |
-e 's/user = "NickServ";/user = "UserServ";/' \ |
140 |
-e 's/real = "Nickname Services";/real = "User Registration Services";/' ../dist/example.conf) >../dist/example.userserv.conf |
141 |
|
142 |
install: build |
143 |
$(INSTALL) -m 755 -d $(DESTDIR)$(prefix) |
144 |
$(INSTALL) -m 755 -d $(DESTDIR)$(bindir) |
145 |
$(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir) |
146 |
$(INSTALL) -m 755 -d $(DESTDIR)$(localstatedir) |
147 |
$(INSTALL) -m 755 -d $(DESTDIR)$(LOGDIR) |
148 |
$(INSTALL) -m 755 -d $(DESTDIR)$(RUNDIR) |
149 |
$(INSTALL) -m 755 -d $(DESTDIR)$(DATADIR) |
150 |
$(INSTALL) -m 755 -c $(BIN) $(DESTDIR)$(bindir) |
151 |
$(INSTALL) -m 755 -c $(LIB) $(DESTDIR)$(bindir) |
152 |
$(INSTALL) -m 640 -c ../dist/example.conf $(DESTDIR)$(sysconfdir) |
153 |
$(INSTALL) -m 640 -c ../dist/example.motd $(DESTDIR)$(sysconfdir) |
154 |
$(INSTALL) -m 640 -c ../dist/example.userserv.conf $(DESTDIR)$(sysconfdir) |
155 |
$(INSTALL) -m 640 -c ../dist/atheme.chk $(DESTDIR)$(sysconfdir)/atheme.chk.sample |
156 |
|
157 |
@echo "----------------------------------------------------------------" |
158 |
@echo ">>> Remember to cd to ${prefix} and edit your config file."; |
159 |
@echo "----------------------------------------------------------------" |
160 |
|
161 |
#deinstall: |
162 |
# if [ -d ${prefix} ] ; then \ |
163 |
# $(RM) -rf ${prefix}; \ |
164 |
# fi |
165 |
|
166 |
$(SRCDIR)/version.C: |
167 |
@/bin/sh ./version.sh $(VERSION) |
168 |
|
169 |
.C.o: |
170 |
@echo " CC $@" |
171 |
@${CXX} ${PICFLAGS} ${CPPFLAGS} ${CXXFLAGS} -c $< -o $@ |
172 |
|
173 |
.PHONY: depend clean distclean |
174 |
# This sed command sucks but I don't know a better way -- jilles |
175 |
depend: |
176 |
@${MKDEP} ${PICFLAGS} ${CPPFLAGS} ${CXXFLAGS} ${LIB_SRCS} | sed -e 's|\([^.]*\.o\):|$(SRCDIR)/\1:|' > .depend |
177 |
@${MKDEP} ${PICFLAGS} ${CPPFLAGS} ${CXXFLAGS} ${ACCOUNT_SRCS} | sed -e 's|\([^.]*\.o\):|$(SRCDIR)/account/\1:|' >> .depend |
178 |
|
179 |
clean: |
180 |
@${RM} -f ${OBJS} *.exe *~ version.C ${BIN}.core core ${LIB} ${BIN} ../dist/example.userserv.conf |
181 |
|
182 |
distclean: clean |
183 |
@${RM} -f Makefile version.C.last .depend |
184 |
|
185 |
maintainer-clean: distclean |
186 |
|
187 |
include .depend |