1 |
# |
2 |
# Makefile.in for ircd/contrib |
3 |
# |
4 |
# $Id$ |
5 |
# |
6 |
CC = @CC@ |
7 |
RM = @RM@ |
8 |
SED = @SED@ |
9 |
SEDOBJ = @SEDOBJ@ |
10 |
STDOUT = @STDOUT@ |
11 |
MV = @MV@ |
12 |
CFLAGS = @IRC_CFLAGS@ |
13 |
LD = @LD@ |
14 |
LN = @LN@ |
15 |
PICFLAGS = @PICFLAGS@ |
16 |
MKDEP = @MKDEP@ |
17 |
INSTALL = @INSTALL@ |
18 |
INSTALL_DATA = @INSTALL_DATA@ |
19 |
|
20 |
prefix = $(DESTDIR)@prefix@ |
21 |
|
22 |
AUTOMODULEDIR = ${prefix}/modules |
23 |
|
24 |
SSL_LIBS = @SSL_LIBS@ |
25 |
SSL_INCLUDES = @SSL_INCLUDES@ |
26 |
|
27 |
IRCDLIBS = @LIBS@ $(SSL_LIBS) |
28 |
|
29 |
INCLUDES = -I../include -I../lib/pcre $(SSL_INCLUDES) |
30 |
CPPFLAGS = ${INCLUDES} @CPPFLAGS@ |
31 |
|
32 |
SRCS = \ |
33 |
ip_cloaking.c \ |
34 |
m_capture.c \ |
35 |
m_change.c \ |
36 |
m_clearchan.c \ |
37 |
m_classlist.c \ |
38 |
m_ctrace.c \ |
39 |
m_flags.c \ |
40 |
m_force.c \ |
41 |
m_jupe.c \ |
42 |
m_killhost.c \ |
43 |
m_ltrace.c \ |
44 |
m_mkpasswd.c \ |
45 |
m_ojoin.c \ |
46 |
m_operspy.c \ |
47 |
m_opme.c \ |
48 |
m_services.c \ |
49 |
m_spoof.c |
50 |
|
51 |
SHARED_ONLY_SRCS = \ |
52 |
spy_admin_notice.c \ |
53 |
spy_info_notice.c \ |
54 |
spy_links_notice.c \ |
55 |
spy_motd_notice.c \ |
56 |
spy_stats_notice.c \ |
57 |
spy_stats_p_notice.c \ |
58 |
spy_trace_notice.c \ |
59 |
spy_whois_notice.c |
60 |
|
61 |
OBJS = ${SRCS:.c=.so} ${SHARED_ONLY_SRCS:.c=.so} |
62 |
SOBJS = ${SRCS:.c=.o} |
63 |
SLOBJS = ${OBJS:.so=.sl} |
64 |
|
65 |
default: build |
66 |
build: all |
67 |
all: .depend @MOD_TARGET@ |
68 |
|
69 |
libmodules.a: ../modules/libmodules.a $(SOBJS) |
70 |
@echo "WARNING WARNING WARNING" |
71 |
@echo "These modules are unsupported by the hybrid team, but due to the" |
72 |
@echo "limits of your OS we link them all in by default. If you do NOT" |
73 |
@echo "want this to happen, take out references to the modules you don't" |
74 |
@echo "want in include/modules.h, src/modules.c, and this Makefile (SRCS.)" |
75 |
@echo "YOU HAVE BEEN WARNED!" |
76 |
|
77 |
$(AR) csrv ../modules/libmodules.a $(SOBJS) |
78 |
|
79 |
cd ../src && \ |
80 |
$(CC) $(CPPFLAGS) $(CFLAGS) -DBUILD_CONTRIB -c modules.c || exit; \ |
81 |
${MAKE} ircd |
82 |
|
83 |
@echo "New statically linked ircd binary has been generated; suggest $(MAKE) install." |
84 |
|
85 |
shared_modules: $(OBJS) |
86 |
|
87 |
hpux_shared: $(OBJS) $(SLOBJS) |
88 |
|
89 |
../modules/libmodules.a: |
90 |
cd ../modules && ${MAKE} |
91 |
|
92 |
install: all install_@MOD_TARGET@ install_help |
93 |
|
94 |
install_shared_modules: $(OBJS) |
95 |
mkdir -p $(AUTOMODULEDIR) |
96 |
@echo "Installing modules into $(AUTOMODULEDIR) .." |
97 |
@for file in $(OBJS); do \ |
98 |
$(INSTALL_DATA) $$file $(AUTOMODULEDIR); \ |
99 |
done |
100 |
|
101 |
install_hpux_shared: $(SLOBJS) |
102 |
mkdir -p $(AUTOMODULEDIR) |
103 |
@echo "Installing modules into $(AUTOMODULEDIR) .." |
104 |
@for file in $(SLOBJS); do \ |
105 |
$(INSTALL_DATA) $$file $(AUTOMODULEDIR); \ |
106 |
done |
107 |
|
108 |
install_help: |
109 |
cd help && ${MAKE} install || exit; cd ..; |
110 |
|
111 |
install_libmodules.a: |
112 |
# Ye olde noop. |
113 |
|
114 |
.SUFFIXES: .so .sl .o |
115 |
|
116 |
.c.so: |
117 |
${CC} ${PICFLAGS} ${CPPFLAGS} ${CFLAGS} $< -o $@ |
118 |
|
119 |
.c.o: |
120 |
${CC} ${CPPFLAGS} ${CFLAGS} -c $< -o $@ |
121 |
|
122 |
.so.sl: |
123 |
${LD} -b $< -o $@ |
124 |
|
125 |
.depend: |
126 |
${MKDEP} ${CPPFLAGS} ${SRCS} ${STDOUT} |
127 |
${SED} -e '${SEDOBJ}' < .depend > .depend.tmp |
128 |
@${SED} -e '/^# Autogenerated - do not delete/,$$d' <Makefile >Makefile.depend |
129 |
@echo '# Autogenerated - do not delete' >>Makefile.depend |
130 |
@echo 'include .depend' >> Makefile.depend |
131 |
@${MV} Makefile.depend Makefile |
132 |
${MV} -f .depend.tmp .depend |
133 |
|
134 |
clean: |
135 |
${RM} -f *.so *.o *.sl *~ |
136 |
cd help && ${MAKE} clean || exit; cd ..; |
137 |
|
138 |
distclean: clean |
139 |
${RM} -f Makefile .depend |
140 |
cd help && ${MAKE} distclean || exit; cd ..; |
141 |
|
142 |
.PHONY: depend clean distclean install_hpux_shared install_libmodules.a install_help shared_modules install hpux_shared build |