]> git.ipfire.org Git - thirdparty/squid.git/blob - src/Makefile.am
I meant datadir for icons & errors, not sharedstatedir
[thirdparty/squid.git] / src / Makefile.am
1 #
2 # Makefile for the Squid Object Cache server
3 #
4 # $Id: Makefile.am,v 1.13 2001/11/30 14:52:12 hno Exp $
5 #
6 # Uncomment and customize the following to suit your needs:
7 #
8
9 if USE_DNSSERVER
10 DNSSOURCE = dns.c
11 DNSSERVER = dnsserver
12 else
13 DNSSOURCE = dns_internal.c
14 DNSSERVER =
15 endif
16
17 if USE_SNMP
18 SNMPSOURCE = snmp_core.c snmp_agent.c
19 else
20 SNMPSOURCE =
21 endif
22
23 if USE_DELAY_POOLS
24 DELAY_POOL_SOURCE = delay_pools.c
25 else
26 DELAY_POOL_SOURCE =
27 endif
28
29 if ENABLE_HTCP
30 HTCPSOURCE = htcp.c
31 endif
32
33 if MAKE_LEAKFINDER
34 LEAKFINDERSOURCE = leakfinder.c
35 else
36 LEAKFINDERSOURCE =
37 endif
38
39 if ENABLE_UNLINKD
40 UNLINKDSOURCE = unlinkd.c
41 UNLINKD = unlinkd
42 UNLINKD_EXE = unlinkd$(EXEEXT)
43 else
44 UNLINKDSOURCE =
45 UNLINKD =
46 UNLINKD_EXE =
47 endif
48
49 if ENABLE_SSL
50 SSLSOURCE = ssl_support.c
51 else
52 SSLSOURCE =
53 endif
54
55 if ENABLE_WIN32SPECIFIC
56 WIN32SOURCE = win32.c
57 else
58 WIN32SOURCE =
59 endif
60
61 SUBDIRS = fs repl auth
62
63 INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include
64
65 EXTRA_PROGRAMS = \
66 unlinkd \
67 pinger \
68 dnsserver
69
70 noinst_PROGRAMS = \
71 cf_gen
72
73 bin_PROGRAMS = \
74 squid \
75 client
76
77 libexec_PROGRAMS = \
78 @OPT_PINGER@ \
79 $(DNSSERVER) \
80 $(UNLINKD) \
81 cachemgr
82
83 cf_gen_SOURCES = cf_gen.c defines.h
84 nodist_cf_gen_HEADER = cf_gen_defines.h
85 cf_gen.$(OBJEXT): cf_gen_defines.h
86
87 EXTRA_squid_SOURCES = \
88 delay_pools.c \
89 dns.c \
90 dnsserver.c \
91 dns_internal.c \
92 htcp.c \
93 leakfinder.c \
94 snmp_core.c \
95 snmp_agent.c \
96 unlinkd.c \
97 ssl_support.c \
98 win32.c
99
100 squid_SOURCES = \
101 access_log.c \
102 acl.c \
103 asn.c \
104 authenticate.c \
105 cache_cf.c \
106 CacheDigest.c \
107 cache_manager.c \
108 carp.c \
109 cbdata.c \
110 client_db.c \
111 client_side.c \
112 comm.c \
113 comm_select.c \
114 debug.c \
115 defines.h \
116 $(DELAY_POOL_SOURCE) \
117 disk.c \
118 $(DNSSOURCE) \
119 enums.h \
120 errorpage.c \
121 ETag.c \
122 event.c \
123 fd.c \
124 filemap.c \
125 forward.c \
126 fqdncache.c \
127 ftp.c \
128 globals.h \
129 gopher.c \
130 helper.c \
131 $(HTCPSOURCE) \
132 http.c \
133 HttpStatusLine.c \
134 HttpHdrCc.c \
135 HttpHdrRange.c \
136 HttpHdrContRange.c \
137 HttpHeader.c \
138 HttpHeaderTools.c \
139 HttpBody.c \
140 HttpMsg.c \
141 HttpReply.c \
142 HttpRequest.c \
143 icmp.c \
144 icp_v2.c \
145 icp_v3.c \
146 ident.c \
147 internal.c \
148 ipc.c \
149 ipcache.c \
150 $(LEAKFINDERSOURCE) \
151 logfile.c \
152 main.c \
153 mem.c \
154 MemPool.c \
155 MemBuf.c \
156 mime.c \
157 multicast.c \
158 neighbors.c \
159 net_db.c \
160 Packer.c \
161 pconn.c \
162 peer_digest.c \
163 peer_select.c \
164 protos.h \
165 redirect.c \
166 referer.c \
167 refresh.c \
168 send-announce.c \
169 $(SNMPSOURCE) \
170 squid.h \
171 ssl.c \
172 $(SSLSOURCE) \
173 stat.c \
174 StatHist.c \
175 String.c \
176 stmem.c \
177 store.c \
178 store_io.c \
179 store_client.c \
180 store_digest.c \
181 store_dir.c \
182 store_key_md5.c \
183 store_log.c \
184 store_rebuild.c \
185 store_swapin.c \
186 store_swapmeta.c \
187 store_swapout.c \
188 structs.h \
189 tools.c \
190 typedefs.h \
191 $(UNLINKDSOURCE) \
192 url.c \
193 urn.c \
194 useragent.c \
195 wais.c \
196 wccp.c \
197 whois.c \
198 $(WIN32SOURCE)
199
200 nodist_squid_SOURCES = \
201 repl_modules.c \
202 auth_modules.c \
203 store_modules.c \
204 cf_parser.h \
205 globals.c \
206 string_arrays.c
207
208 squid_LDADD = \
209 -L../lib \
210 @XTRA_OBJS@ \
211 @REPL_OBJS@ \
212 @STORE_OBJS@ \
213 @AUTH_OBJS@ \
214 @CRYPTLIB@ \
215 @REGEXLIB@ \
216 @SQUID_AIO_LIB@ \
217 @SQUID_PTHREAD_LIB@ \
218 @SNMPLIB@ \
219 @LIB_MALLOC@ \
220 @SSLLIB@ \
221 -lmiscutil \
222 @XTRA_LIBS@
223
224 unlinkd_SOURCES =
225 unlinkd_LDADD = unlinkd-daemon.o
226 unlinkd-daemon.o: unlinkd.c
227 $(COMPILE) -DUNLINK_DAEMON -c $(srcdir)/unlinkd.c -o $@
228
229 pinger_SOURCES = \
230 pinger.c \
231 debug.c \
232 globals.c
233
234 BUILT_SOURCES = \
235 cf_gen_defines.h \
236 cf_parser.h \
237 globals.c \
238 string_arrays.c \
239 repl_modules.c \
240 auth_modules.c \
241 store_modules.c
242
243 sysconf_DATA = \
244 squid.conf.default \
245 mib.txt \
246 mime.conf.default
247
248 LDADD = -L../lib -lmiscutil @XTRA_LIBS@
249
250 EXTRA_DIST = \
251 cf_gen_defines \
252 cf.data.pre \
253 mk-globals-c.pl \
254 mk-string-arrays.pl \
255 auth_modules.sh \
256 store_modules.sh \
257 repl_modules.sh \
258 mib.txt \
259 mime.conf.default
260
261 DEFAULT_PREFIX = $(prefix)
262 DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
263 DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
264 DEFAULT_DNSSERVER = $(libexecdir)/@OPT_DNSSERVER_EXE@
265 DEFAULT_LOG_PREFIX = $(localstatedir)/logs
266 DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
267 DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
268 DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
269 DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid
270 DEFAULT_SWAP_DIR = $(localstatedir)/cache
271 DEFAULT_PINGER = $(libexecdir)/@OPT_PINGER_EXE@
272 DEFAULT_UNLINKD = $(libexecdir)/$(UNLINKD_EXE)
273 DEFAULT_DISKD = $(libexecdir)/@OPT_DISKD_EXE@
274 DEFAULT_ICON_DIR = $(datadir)/squid/icons
275 DEFAULT_ERROR_DIR = $(datadir)/squid/errors/@ERR_DEFAULT_LANGUAGE@
276 DEFAULT_MIB_PATH = $(sysconfdir)/mib.txt
277
278 DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
279
280 $(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h
281
282 snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h
283
284 globals.c: globals.h mk-globals-c.pl
285 $(PERL) $(srcdir)/mk-globals-c.pl < $(srcdir)/globals.h > $@
286
287 string_arrays.c: enums.h mk-string-arrays.pl
288 $(PERL) $(srcdir)/mk-string-arrays.pl < $(srcdir)/enums.h > $@
289
290 cache_diff: cache_diff.o debug.o globals.o store_key_md5.o
291 $(CC) -o $@ $(LDFLAGS) $@.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
292
293 test_cache_digest: test_cache_digest.o CacheDigest.o debug.o globals.o store_key_md5.o
294 $(CC) -o $@ $(LDFLAGS) $@.o CacheDigest.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
295
296 ## If autodependency works well this is not needed anymore
297 cache_cf.o: cf_parser.h
298
299 squid.conf.default: cf_parser.h
300 $(SHELL) -c "test -f squid.conf.default || ./cf_gen cf.data"
301
302 cf_parser.h: cf.data cf_gen$(EXEEXT)
303 ./cf_gen cf.data
304
305 cf_gen_defines.h: $(srcdir)/cf_gen_defines $(srcdir)/cf.data.pre
306 awk -f $(srcdir)/cf_gen_defines <$(srcdir)/cf.data.pre >cf_gen_defines.h
307
308
309 ## FIXME: generate a sed command file from configure. Then this doesn't
310 ## depend on the Makefile.
311 cf.data: cf.data.pre Makefile
312 sed "\
313 s%@DEFAULT_MIME_TABLE@%$(DEFAULT_MIME_TABLE)%g;\
314 s%@DEFAULT_DNSSERVER@%$(DEFAULT_DNSSERVER)%g;\
315 s%@DEFAULT_UNLINKD@%$(DEFAULT_UNLINKD)%g;\
316 s%@DEFAULT_PINGER@%$(DEFAULT_PINGER)%g;\
317 s%@DEFAULT_DISKD@%$(DEFAULT_DISKD)%g;\
318 s%@DEFAULT_CACHE_LOG@%$(DEFAULT_CACHE_LOG)%g;\
319 s%@DEFAULT_ACCESS_LOG@%$(DEFAULT_ACCESS_LOG)%g;\
320 s%@DEFAULT_STORE_LOG@%$(DEFAULT_STORE_LOG)%g;\
321 s%@DEFAULT_PID_FILE@%$(DEFAULT_PID_FILE)%g;\
322 s%@DEFAULT_SWAP_DIR@%$(DEFAULT_SWAP_DIR)%g;\
323 s%@DEFAULT_ICON_DIR@%$(DEFAULT_ICON_DIR)%g;\
324 s%@DEFAULT_MIB_PATH@%$(DEFAULT_MIB_PATH)%g;\
325 s%@DEFAULT_ERROR_DIR@%$(DEFAULT_ERROR_DIR)%g;\
326 s%@DEFAULT_PREFIX@%$(DEFAULT_PREFIX)%g;"\
327 < $(srcdir)/cf.data.pre >$@
328
329 store_modules.c: store_modules.sh Makefile
330 $(SHELL) $(srcdir)/store_modules.sh $(STORE_MODULES) >store_modules.c
331
332 repl_modules.c: repl_modules.sh Makefile
333 $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.c
334
335 auth_modules.c: auth_modules.sh Makefile
336 @$(SHELL) $(srcdir)/auth_modules.sh $(AUTH_MODULES) >auth_modules.c
337
338 install-data-local: install-sysconfDATA
339 @if test -f $(DESTDIR)$(sysconfdir)/mime.conf ; then \
340 echo "$@ will not overwrite existing $(DESTDIR)$(sysconfdir)/mime.conf" ; \
341 else \
342 echo "$(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(sysconfdir)/mime.conf" ;\
343 $(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(sysconfdir)/mime.conf; \
344 fi
345 @if test -f $(DESTDIR)$(sysconfdir)/squid.conf ; then \
346 echo "$@ will not overwrite existing $(DESTDIR)$(sysconfdir)/squid.conf" ; \
347 else \
348 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(sysconfdir)/squid.conf"; \
349 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(sysconfdir)/squid.conf; \
350 fi
351 $(mkinstalldirs) $(DESTDIR)$(DEFAULT_LOG_PREFIX)
352
353 uninstall-local:
354 @if test -f $(DESTDIR)$(sysconfdir)/mime.conf ; then \
355 echo "rm -f $(DESTDIR)$(sysconfdir)/mime.conf"; \
356 $(RM) -f $(DESTDIR)$(sysconfdir)/mime.conf; \
357 fi
358 @if test -f $(DESTDIR)$(sysconfdir)/squid.conf ; then \
359 echo "rm -f $(DESTDIR)$(sysconfdir)/squid.conf"; \
360 $(RM) -f $(DESTDIR)$(sysconfdir)/squid.conf; \
361 fi
362
363 DISTCLEANFILES = cf_gen_defines.h cf.data cf_parser.h squid.conf.default \
364 globals.c string_arrays.c repl_modules.c auth_modules.c store_modules.c
365
366 ##install-pinger:
367 ## @f=$(PINGER_EXE); \
368 ## if test -f $(libexecdir)/$$f; then \
369 ## echo $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
370 ## $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
371 ## fi; \
372 ## echo $(INSTALL_SUID) $$f $(libexecdir); \
373 ## $(INSTALL_SUID) $$f $(libexecdir) || exit 1; \
374 ## if test -f $(libexecdir)/-$$f; then \
375 ## echo $(RM) -f $(libexecdir)/-$$f; \
376 ## $(RM) -f $(libexecdir)/-$$f; \
377 ## fi
378