]> git.ipfire.org Git - thirdparty/squid.git/blob - src/Makefile.am
Bug #1094: Fix for CVE-1999-0710: cachemgr malicouse use
[thirdparty/squid.git] / src / Makefile.am
1 #
2 # Makefile for the Squid Object Cache server
3 #
4 # $Id: Makefile.am,v 1.108 2005/04/23 20:40:50 serassio Exp $
5 #
6 # Uncomment and customize the following to suit your needs:
7 #
8
9
10 AUTOMAKE_OPTIONS = subdir-objects
11 if USE_DNSSERVER
12 DNSSOURCE = dns.cc
13 DNSSERVER = dnsserver
14 else
15 DNSSOURCE = dns_internal.cc
16 DNSSERVER =
17 endif
18
19 if USE_SNMP
20 SNMPSOURCE = snmp_core.cc snmp_agent.cc
21 else
22 SNMPSOURCE =
23 endif
24
25 TESTS=$(check_PROGRAMS)
26 check_PROGRAMS=
27
28 DELAY_POOL_ALL_SOURCE = \
29 CommonPool.h \
30 CompositePoolNode.h \
31 delay_pools.cc \
32 DelayId.cc \
33 DelayId.h \
34 DelayIdComposite.h \
35 DelayBucket.cc \
36 DelayBucket.h \
37 DelayConfig.cc \
38 DelayConfig.h \
39 DelayPool.cc \
40 DelayPool.h \
41 DelayPools.h \
42 DelaySpec.cc \
43 DelaySpec.h \
44 DelayTagged.cc \
45 DelayTagged.h \
46 DelayUser.cc \
47 DelayUser.h \
48 DelayVector.cc \
49 DelayVector.h \
50 NullDelayId.cc \
51 NullDelayId.h
52 if USE_DELAY_POOLS
53 DELAY_POOL_SOURCE = $(DELAY_POOL_ALL_SOURCE)
54 else
55 DELAY_POOL_SOURCE =
56 endif
57
58 ESI_ALL_SOURCE = \
59 ElementList.h \
60 ESI.cc \
61 ESI.h \
62 ESIAssign.cc \
63 ESIAssign.h \
64 ESIAttempt.h \
65 ESIContext.cc \
66 ESIContext.h \
67 ESICustomParser.cc \
68 ESICustomParser.h \
69 ESIElement.h \
70 ESIExcept.h \
71 ESIExpatParser.cc \
72 ESIExpatParser.h \
73 ESIExpression.cc \
74 ESIExpression.h \
75 ESIInclude.cc \
76 ESIInclude.h \
77 ESILiteral.h \
78 ESILibxml2Parser.cc \
79 ESILibxml2Parser.h \
80 ESIParser.cc \
81 ESIParser.h \
82 ESISegment.cc \
83 ESISegment.h \
84 ESISequence.cc \
85 ESISequence.h \
86 ESIVar.h \
87 ESIVarState.cc \
88 ESIVarState.h
89 if USE_ESI
90 ESI_SOURCE = $(ESI_ALL_SOURCE)
91 else
92 ESI_SOURCE =
93 endif
94
95 if ENABLE_XPROF_STATS
96 XPROF_STATS_SOURCE = ProfStats.cc
97 else
98 XPROF_STATS_SOURCE =
99 endif
100
101 if ENABLE_HTCP
102 HTCPSOURCE = htcp.cc htcp.h
103 endif
104
105 if MAKE_LEAKFINDER
106 LEAKFINDERSOURCE = leakfinder.cc
107 else
108 LEAKFINDERSOURCE =
109 endif
110
111 if ENABLE_UNLINKD
112 UNLINKDSOURCE = unlinkd.cc
113 UNLINKD = unlinkd
114 else
115 UNLINKDSOURCE =
116 UNLINKD =
117 endif
118
119 if ENABLE_PINGER
120 PINGER = pinger
121 else
122 PINGER =
123 endif
124
125 SSL_ALL_SOURCE = \
126 ACLCertificateData.cc \
127 ACLCertificateData.h \
128 ACLCertificate.cc \
129 ACLCertificate.h \
130 ssl_support.cc \
131 ssl_support.h
132 if ENABLE_SSL
133 SSL_SOURCE = $(SSL_ALL_SOURCE)
134 else
135 SSL_SOURCE =
136 endif
137
138 if ENABLE_WIN32SPECIFIC
139 WIN32SOURCE = win32.cc
140 else
141 WIN32SOURCE =
142 endif
143
144 IDENT_ALL_SOURCE = ACLIdent.cc ACLIdent.h ident.cc
145 if ENABLE_IDENT
146 IDENT_SOURCE = $(IDENT_ALL_SOURCE)
147 else
148 IDENT_SOURCE =
149 endif
150
151 ARP_ACL_ALL_SOURCE = ACLARP.cc ACLARP.h
152 if ENABLE_ARP_ACL
153 ARP_ACL_SOURCE = $(ARP_ACL_ALL_SOURCE)
154 else
155 ARP_ACL_SOURCE =
156 endif
157
158 AM_CFLAGS = @SQUID_CFLAGS@
159 AM_CXXFLAGS = @SQUID_CXXFLAGS@
160
161 SUBDIRS = fs repl auth
162
163 EXTRA_LIBRARIES = libAIO.a libBlocking.a libDiskDaemon.a libDiskThreads.a
164 noinst_LIBRARIES = @DISK_LIBS@
165
166 INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)/lib/libTrie/include
167 INCLUDES += @SQUID_CPPUNIT_INC@
168
169 EXTRA_PROGRAMS = \
170 DiskIO/DiskDaemon/diskd \
171 unlinkd \
172 pinger \
173 dnsserver \
174 recv-announce \
175 ufsdump
176
177 noinst_PROGRAMS = \
178 cf_gen
179
180 sbin_PROGRAMS = \
181 squid
182
183 bin_PROGRAMS = \
184 squidclient
185
186
187 libexec_PROGRAMS = \
188 $(PINGER) \
189 $(DNSSERVER) \
190 @DISK_PROGRAMS@ \
191 $(UNLINKD) \
192 cachemgr$(CGIEXT)
193
194 cf_gen_SOURCES = cf_gen.cc defines.h
195 nodist_cf_gen_HEADER = cf_gen_defines.h
196 cf_gen.$(OBJEXT): cf_gen_defines.h
197 squidclient_SOURCES = client.cc
198 cachemgr__CGIEXT__SOURCES = cachemgr.cc
199 cachemgr__CGIEXT__CFLAGS = -DDEFAULT_CACHEMGR_CONFIG=\"$(DEFAULT_CACHEMGR_CONFIG)\" $(AM_CFLAGS)
200
201 all_FSMODULES = \
202 fs/aufs/StoreFSaufs.cc \
203 fs/coss/StoreFScoss.cc \
204 fs/diskd/StoreFSdiskd.cc \
205 fs/null/StoreFSnull.cc \
206 fs/ufs/StoreFSufs.cc
207
208 all_DISKIOMODULES = \
209 DiskIO/AIO/AIODiskIOModule.cc \
210 DiskIO/Blocking/BlockingDiskIOModule.cc \
211 DiskIO/DiskDaemon/DiskDaemonDiskIOModule.cc \
212 DiskIO/DiskThreads/DiskThreadsDiskIOModule.cc
213
214 DISKIO_SOURCE = \
215 DiskIO/DiskIOModule.cc \
216 DiskIO/ReadRequest.cc \
217 DiskIO/ReadRequest.h \
218 DiskIO/WriteRequest.cc \
219 DiskIO/WriteRequest.h \
220 DiskIO/DiskFile.h \
221 DiskIO/DiskIOStrategy.h \
222 DiskIO/IORequestor.h \
223 DiskIO/DiskIOModule.h \
224 DiskIO/ReadRequest.h
225
226 all_AUTHMODULES = \
227 auth/basic/basicScheme.cc \
228 auth/basic/basicScheme.h \
229 auth/digest/digestScheme.cc \
230 auth/digest/digestScheme.h \
231 auth/ntlm/ntlmScheme.cc \
232 auth/ntlm/ntlmScheme.h
233
234 EXTRA_squid_SOURCES = \
235 $(all_FSMODULES) \
236 $(all_DISKIOMODULES) \
237 $(all_AUTHMODULES) \
238 $(ARP_ACL_ALL_SOURCE) \
239 ConfigOption.h \
240 $(DELAY_POOL_ALL_SOURCE) \
241 dns.cc \
242 dnsserver.cc \
243 dns_internal.cc \
244 htcp.cc \
245 htcp.h \
246 $(IDENT_ALL_SOURCE) \
247 $(ESI_ALL_SOURCE) \
248 ProfStats.cc \
249 leakfinder.cc \
250 snmp_core.cc \
251 snmp_agent.cc \
252 unlinkd.cc \
253 $(SSL_ALL_SOURCE) \
254 win32.cc
255
256 squid_ACLSOURCES = \
257 $(ARP_ACL_SOURCE) \
258 ACLASN.cc \
259 ACLASN.h \
260 ACLDestinationASN.h \
261 ACLSourceASN.h \
262 ACLBrowser.cc \
263 ACLBrowser.h \
264 ACLData.h \
265 ACLDestinationDomain.cc \
266 ACLDestinationDomain.h \
267 ACLDestinationIP.cc \
268 ACLDestinationIP.h \
269 ACLDomainData.h \
270 ACLDomainData.cc \
271 ACLExtUser.h \
272 ACLExtUser.cc \
273 ACLIntRange.cc \
274 ACLIntRange.h \
275 ACLIP.cc \
276 ACLIP.h \
277 ACLMaxConnection.cc \
278 ACLMaxConnection.h \
279 ACLMaxUserIP.cc \
280 ACLMaxUserIP.h \
281 ACLMethod.cc \
282 ACLMethod.h \
283 ACLMethodData.cc \
284 ACLMethodData.h \
285 ACLMyIP.cc \
286 ACLMyIP.h \
287 ACLMyPort.cc \
288 ACLMyPort.h \
289 ACLProtocol.cc \
290 ACLProtocol.h \
291 ACLProtocolData.cc \
292 ACLProtocolData.h \
293 ACLProxyAuth.cc \
294 ACLProxyAuth.h \
295 ACLReferer.cc \
296 ACLReferer.h \
297 ACLRegexData.cc \
298 ACLRegexData.h \
299 ACLReplyHeaderStrategy.h \
300 ACLReplyMIMEType.cc \
301 ACLReplyMIMEType.h \
302 ACLRequestHeaderStrategy.h \
303 ACLRequestMIMEType.cc \
304 ACLRequestMIMEType.h \
305 ACLSourceDomain.cc \
306 ACLSourceDomain.h \
307 ACLSourceIP.cc \
308 ACLSourceIP.h \
309 ACLStrategised.cc \
310 ACLStrategised.h \
311 ACLStrategy.h \
312 ACLStringData.cc \
313 ACLStringData.h \
314 ACLTime.cc \
315 ACLTime.h \
316 ACLTimeData.cc \
317 ACLTimeData.h \
318 ACLUrl.cc \
319 ACLUrl.h \
320 ACLUrlPath.cc \
321 ACLUrlPath.h \
322 ACLUrlPort.cc \
323 ACLUrlPort.h \
324 ACLUserData.cc \
325 ACLUserData.h
326
327 squid_SOURCES = \
328 access_log.cc \
329 AccessLogEntry.h \
330 acl.cc \
331 ACL.h \
332 ACLChecklist.cc \
333 ACLChecklist.h \
334 $(squid_ACLSOURCES) \
335 asn.cc \
336 authenticate.cc \
337 authenticate.h \
338 AuthConfig.cc \
339 AuthConfig.h \
340 AuthScheme.cc \
341 AuthScheme.h \
342 AuthUser.cc \
343 AuthUserRequest.cc \
344 cache_cf.cc \
345 CacheDigest.cc \
346 cache_manager.cc \
347 carp.cc \
348 cbdata.cc \
349 client_db.cc \
350 client_side.cc \
351 client_side.h \
352 client_side_reply.cc \
353 client_side_reply.h \
354 client_side_request.cc \
355 client_side_request.h \
356 clientStream.cc \
357 clientStream.h \
358 comm.cc \
359 comm.h \
360 CommIO.h \
361 comm_select.cc \
362 comm_poll.cc \
363 comm_epoll.cc \
364 comm_kqueue.cc \
365 CommRead.h \
366 ConfigOption.cc \
367 ConfigParser.h \
368 ConnectionDetail.h \
369 debug.cc \
370 Debug.h \
371 defines.h \
372 $(DELAY_POOL_SOURCE) \
373 disk.cc \
374 $(DISKIO_SOURCE) \
375 $(DNSSOURCE) \
376 enums.h \
377 errorpage.cc \
378 $(ESI_SOURCE) \
379 ETag.cc \
380 event.cc \
381 external_acl.cc \
382 ExternalACL.h \
383 ExternalACLEntry.cc \
384 ExternalACLEntry.h \
385 fd.cc \
386 fde.cc \
387 fde.h \
388 filemap.cc \
389 forward.cc \
390 fqdncache.cc \
391 ftp.cc \
392 Generic.h \
393 globals.h \
394 gopher.cc \
395 helper.cc \
396 helper.h \
397 HierarchyLogEntry.h \
398 $(HTCPSOURCE) \
399 http.cc \
400 http.h \
401 HttpStatusLine.cc \
402 HttpStatusLine.h \
403 HttpHdrCc.cc \
404 HttpHdrRange.cc \
405 HttpHdrSc.cc \
406 HttpHdrScTarget.cc \
407 HttpHdrContRange.cc \
408 HttpHdrContRange.h \
409 HttpHeader.cc \
410 HttpHeader.h \
411 HttpHeaderRange.h \
412 HttpHeaderTools.cc \
413 HttpBody.cc \
414 HttpMsg.cc \
415 HttpReply.cc \
416 HttpReply.h \
417 HttpRequest.cc \
418 HttpRequest.h \
419 HttpVersion.h \
420 icmp.cc \
421 ICP.h \
422 icp_v2.cc \
423 icp_v3.cc \
424 $(IDENT_SOURCE) \
425 int.cc \
426 internal.cc \
427 ipc.cc \
428 ipcache.cc \
429 IPInterception.cc \
430 IPInterception.h \
431 $(LEAKFINDERSOURCE) \
432 list.cc \
433 logfile.cc \
434 main.cc \
435 mem.cc \
436 mem_node.cc \
437 mem_node.h \
438 Mem.h \
439 MemBuf.cc \
440 MemObject.cc \
441 MemObject.h \
442 mime.cc \
443 multicast.cc \
444 neighbors.cc \
445 net_db.cc \
446 Packer.cc \
447 Parsing.cc \
448 Parsing.h \
449 $(XPROF_STATS_SOURCE) \
450 pconn.cc \
451 peer_digest.cc \
452 peer_select.cc \
453 PeerSelectState.h \
454 PingData.h \
455 protos.h \
456 redirect.cc \
457 referer.cc \
458 refresh.cc \
459 send-announce.cc \
460 $(SNMPSOURCE) \
461 squid.h \
462 SquidNew.cc \
463 tunnel.cc \
464 $(SSL_SOURCE) \
465 stat.cc \
466 StatHist.cc \
467 String.cc \
468 stmem.cc \
469 stmem.h \
470 store.cc \
471 Store.h \
472 StoreFileSystem.cc \
473 StoreFileSystem.h \
474 StoreHashIndex.h \
475 store_io.cc \
476 StoreIOBuffer.h \
477 StoreIOState.cc \
478 StoreIOState.h \
479 store_client.cc \
480 StoreClient.h \
481 store_digest.cc \
482 store_dir.cc \
483 store_key_md5.cc \
484 store_log.cc \
485 store_rebuild.cc \
486 store_swapin.cc \
487 store_swapmeta.cc \
488 store_swapout.cc \
489 StoreMeta.cc \
490 StoreMeta.h \
491 StoreMetaMD5.cc \
492 StoreMetaMD5.h \
493 StoreMetaSTD.cc \
494 StoreMetaSTD.h \
495 StoreMetaUnpacker.cc \
496 StoreMetaUnpacker.h \
497 StoreMetaURL.cc \
498 StoreMetaURL.h \
499 StoreMetaVary.cc \
500 StoreMetaVary.h \
501 StoreSearch.h \
502 StoreSwapLogData.cc \
503 StoreSwapLogData.h \
504 structs.h \
505 SwapDir.cc \
506 SwapDir.h \
507 tools.cc \
508 typedefs.h \
509 $(UNLINKDSOURCE) \
510 url.cc \
511 urn.cc \
512 useragent.cc \
513 wais.cc \
514 wccp.cc \
515 whois.cc \
516 $(WIN32SOURCE)
517
518 noinst_HEADERS = ACLChecklist.cci \
519 AuthUser.cci \
520 AuthUser.h \
521 AuthUserRequest.h \
522 client_side_request.cci \
523 MemBuf.cci \
524 MemBuf.h \
525 Store.cci \
526 String.cci \
527 SquidString.h \
528 squid_windows.h
529
530 nodist_squid_SOURCES = \
531 repl_modules.cc \
532 cf_parser.h \
533 globals.cc \
534 string_arrays.c
535
536 squid_LDADD = \
537 -L../lib \
538 @XTRA_OBJS@ \
539 @DISK_LINKOBJS@ \
540 @REPL_OBJS@ \
541 @STORE_LINKOBJS@ \
542 @STORE_OBJS@ \
543 @DISK_LIBS@ \
544 @AUTH_LINKOBJS@ \
545 @AUTH_OBJS@ \
546 @CRYPTLIB@ \
547 @REGEXLIB@ \
548 @SNMPLIB@ \
549 @LIB_MALLOC@ \
550 @SSLLIB@ \
551 -lmiscutil \
552 @XTRA_LIBS@ \
553 @EPOLL_LIBS@
554 squid_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a @STORE_OBJS@ @STORE_LINKOBJS@ \
555 @DISK_LIBS@ \
556 @DISK_LINKOBJS@ \
557 @REPL_OBJS@ \
558 @AUTH_LINKOBJS@ \
559 @AUTH_OBJS@
560
561 unlinkd_SOURCES = unlinkd.cc SquidNew.cc
562 unlinkd_CXXFLAGS = -DUNLINK_DAEMON
563
564 pinger_SOURCES = \
565 pinger.cc \
566 debug.cc \
567 SquidNew.cc
568
569 dnsserver_SOURCES = dnsserver.cc SquidNew.cc
570 recv_announce_SOURCES = recv-announce.cc SquidNew.cc
571
572 ## What requires what..
573 ## many things want ACLChecklist.cc
574 ## ACLChecklist.cc wants AuthUserRequest.cc
575 ## ACLChecklist.cc wants AuthScheme.cc
576 ## ACLChecklist.cc wants ACLProxyAuth.cc directly
577 ## ACLProxyAuth.cc wants ACLUserData
578 ## ACLProxyAuth.cc wants ACLRegexData
579 ## cache_cf.cc wants AuthConfig
580 ## cache_cf.cc wants Swapdir
581 ## client_side wants client_db
582 ## client_db wants SNMP_SOURCE
583 ## snmp_core wants ACLStringData
584 ## SwapDir wants ConfigOption
585
586 ufsdump_SOURCES = debug.cc \
587 int.cc \
588 ufsdump.cc \
589 store.cc \
590 StoreFileSystem.cc \
591 StoreMeta.cc \
592 StoreMeta.h \
593 StoreMetaMD5.cc \
594 StoreMetaMD5.h \
595 StoreMetaSTD.cc \
596 StoreMetaSTD.h \
597 StoreMetaUnpacker.cc \
598 StoreMetaUnpacker.h \
599 StoreMetaURL.cc \
600 StoreMetaURL.h \
601 StoreMetaVary.cc \
602 StoreMetaVary.h \
603 StoreSwapLogData.cc \
604 StoreSwapLogData.h \
605 access_log.cc \
606 acl.cc \
607 ACLChecklist.cc \
608 ACLProxyAuth.cc \
609 ACLUserData.cc \
610 ACLRegexData.cc \
611 ACLStringData.cc \
612 authenticate.cc \
613 AuthUser.cc \
614 AuthUserRequest.cc \
615 AuthScheme.cc \
616 AuthConfig.cc \
617 cache_cf.cc \
618 CacheDigest.cc \
619 cache_manager.cc \
620 carp.cc \
621 cbdata.cc \
622 client_db.cc \
623 client_side.cc \
624 client_side_reply.cc \
625 client_side_request.cc \
626 client_side_request.h \
627 clientStream.cc \
628 clientStream.h \
629 comm.cc \
630 comm.h \
631 CommIO.h \
632 comm_select.cc \
633 comm_poll.cc \
634 comm_epoll.cc \
635 comm_kqueue.cc \
636 ConfigOption.cc \
637 defines.h \
638 $(DELAY_POOL_SOURCE) \
639 disk.cc \
640 $(DNSSOURCE) \
641 enums.h \
642 errorpage.cc \
643 $(ESI_SOURCE) \
644 ETag.cc \
645 event.cc \
646 external_acl.cc \
647 ExternalACLEntry.cc \
648 fd.cc \
649 fde.cc \
650 fde.h \
651 filemap.cc \
652 forward.cc \
653 fqdncache.cc \
654 ftp.cc \
655 gopher.cc \
656 helper.cc \
657 $(HTCPSOURCE) \
658 http.cc \
659 HttpStatusLine.cc \
660 HttpHdrCc.cc \
661 HttpHdrRange.cc \
662 HttpHdrSc.cc \
663 HttpHdrScTarget.cc \
664 HttpHdrContRange.cc \
665 HttpHeader.cc \
666 HttpHeaderTools.cc \
667 HttpBody.cc \
668 HttpMsg.cc \
669 HttpReply.cc \
670 HttpRequest.cc \
671 HttpRequest.h \
672 icmp.cc \
673 icp_v2.cc \
674 icp_v3.cc \
675 $(IDENT_SOURCE) \
676 internal.cc \
677 ipc.cc \
678 ipcache.cc \
679 IPInterception.cc \
680 IPInterception.h \
681 $(LEAKFINDERSOURCE) \
682 list.cc \
683 logfile.cc \
684 mem.cc \
685 mem_node.cc \
686 mem_node.h \
687 Mem.h \
688 MemBuf.cc \
689 MemObject.cc \
690 MemObject.h \
691 mime.cc \
692 multicast.cc \
693 neighbors.cc \
694 net_db.cc \
695 Packer.cc \
696 Parsing.cc \
697 $(XPROF_STATS_SOURCE) \
698 pconn.cc \
699 peer_digest.cc \
700 peer_select.cc \
701 protos.h \
702 redirect.cc \
703 referer.cc \
704 refresh.cc \
705 send-announce.cc \
706 $(SNMPSOURCE) \
707 squid.h \
708 $(SSL_SOURCE) \
709 tunnel.cc \
710 SquidNew.cc \
711 stat.cc \
712 StatHist.cc \
713 String.cc \
714 stmem.cc \
715 store_io.cc \
716 StoreIOBuffer.h \
717 StoreIOState.cc \
718 store_client.cc \
719 StoreClient.h \
720 store_digest.cc \
721 store_dir.cc \
722 store_key_md5.cc \
723 store_log.cc \
724 store_rebuild.cc \
725 store_swapin.cc \
726 store_swapmeta.cc \
727 store_swapout.cc \
728 structs.h \
729 SwapDir.cc \
730 tools.cc \
731 typedefs.h \
732 $(UNLINKDSOURCE) \
733 url.cc \
734 urn.cc \
735 useragent.cc \
736 wais.cc \
737 wccp.cc \
738 whois.cc \
739 $(WIN32SOURCE)
740 ufsdump_LDADD = \
741 -L../lib \
742 @XTRA_OBJS@ \
743 @REPL_OBJS@ \
744 @STORE_OBJS@ \
745 @AUTH_OBJS@ \
746 @CRYPTLIB@ \
747 @REGEXLIB@ \
748 @SNMPLIB@ \
749 @LIB_MALLOC@ \
750 @SSLLIB@ \
751 -lmiscutil \
752 @XTRA_LIBS@ \
753 @EPOLL_LIBS@
754 ufsdump_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a
755 nodist_ufsdump_SOURCES = \
756 repl_modules.cc \
757 cf_parser.h \
758 globals.cc \
759 string_arrays.c
760
761 nodist_pinger_SOURCES = \
762 globals.cc
763
764 BUILT_SOURCES = \
765 cf_gen_defines.h \
766 cf_parser.h \
767 globals.cc \
768 string_arrays.c \
769 repl_modules.cc
770
771 sysconf_DATA = \
772 squid.conf.default \
773 mime.conf.default
774
775 data_DATA = \
776 mib.txt
777
778 LDADD = -L../lib -lmiscutil @XTRA_LIBS@ @EPOLL_LIBS@
779
780 EXTRA_DIST = \
781 cf_gen_defines \
782 cf.data.pre \
783 mk-globals-c.pl \
784 mk-string-arrays.pl \
785 repl_modules.sh \
786 mib.txt \
787 cachemgr.conf \
788 mime.conf.default
789
790 libAIO_a_SOURCES = \
791 DiskIO/AIO/async_io.h \
792 DiskIO/AIO/AIODiskFile.cc \
793 DiskIO/AIO/AIODiskFile.h \
794 DiskIO/AIO/AIODiskIOStrategy.cc \
795 DiskIO/AIO/AIODiskIOStrategy.h \
796 DiskIO/AIO/AIODiskIOModule.h
797
798 libBlocking_a_SOURCES = \
799 DiskIO/Blocking/BlockingFile.cc \
800 DiskIO/Blocking/BlockingFile.h \
801 DiskIO/Blocking/BlockingIOStrategy.cc \
802 DiskIO/Blocking/BlockingIOStrategy.h \
803 DiskIO/Blocking/BlockingDiskIOModule.h
804
805 libDiskDaemon_a_SOURCES = \
806 DiskIO/DiskDaemon/DiskdFile.cc \
807 DiskIO/DiskDaemon/DiskdFile.h \
808 DiskIO/DiskDaemon/DiskdIOStrategy.cc \
809 DiskIO/DiskDaemon/DiskdIOStrategy.h \
810 DiskIO/DiskDaemon/diomsg.h \
811 DiskIO/DiskDaemon/DiskDaemonDiskIOModule.h
812
813 libDiskThreads_a_SOURCES = \
814 DiskIO/DiskThreads/aiops.cc \
815 DiskIO/DiskThreads/async_io.cc \
816 DiskIO/DiskThreads/DiskThreads.h \
817 DiskIO/DiskThreads/DiskThreadsDiskFile.cc \
818 DiskIO/DiskThreads/DiskThreadsDiskFile.h \
819 DiskIO/DiskThreads/DiskThreadsDiskIOModule.h \
820 DiskIO/DiskThreads/DiskThreadsIOStrategy.cc \
821 DiskIO/DiskThreads/DiskThreadsIOStrategy.h
822
823 DiskIO_DiskDaemon_diskd_SOURCES = DiskIO/DiskDaemon/diskd.cc
824 DiskIO_DiskDaemon_diskd_LDADD = $(top_builddir)/lib/libmiscutil.a @XTRA_LIBS@
825
826
827 DEFAULT_PREFIX = $(prefix)
828 DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
829 DEFAULT_CACHEMGR_CONFIG = $(sysconfdir)/cachemgr.conf
830 DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
831 DEFAULT_DNSSERVER = $(libexecdir)/`echo dnsserver | sed '$(transform);s/$$/$(EXEEXT)/'`
832 DEFAULT_LOG_PREFIX = $(localstatedir)/logs
833 DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
834 DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
835 DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
836 DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid
837 DEFAULT_SWAP_DIR = $(localstatedir)/cache
838 DEFAULT_PINGER = $(libexecdir)/`echo pinger | sed '$(transform);s/$$/$(EXEEXT)/'`
839 DEFAULT_UNLINKD = $(libexecdir)/`echo unlinkd | sed '$(transform);s/$$/$(EXEEXT)/'`
840 DEFAULT_DISKD = $(libexecdir)/`echo diskd | sed '$(transform);s/$$/$(EXEEXT)/'`
841 DEFAULT_ICON_DIR = $(datadir)/icons
842 DEFAULT_ERROR_DIR = $(datadir)/errors/@ERR_DEFAULT_LANGUAGE@
843 DEFAULT_MIB_PATH = $(datadir)/mib.txt
844 DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
845
846 DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
847
848 $(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h
849
850 snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h
851
852 globals.cc: globals.h mk-globals-c.pl
853 $(PERL) $(srcdir)/mk-globals-c.pl < $(srcdir)/globals.h > $@
854
855 string_arrays.c: enums.h mk-string-arrays.pl
856 $(PERL) $(srcdir)/mk-string-arrays.pl < $(srcdir)/enums.h > $@
857
858 cache_diff: cache_diff.o debug.o globals.o store_key_md5.o
859 $(CC) -o $@ $(LDFLAGS) $@.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
860
861 test_cache_digest: test_cache_digest.o CacheDigest.o debug.o globals.o store_key_md5.o
862 $(CC) -o $@ $(LDFLAGS) $@.o CacheDigest.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
863
864 ## If autodependency works well this is not needed anymore
865 cache_cf.o: cf_parser.h
866
867 squid.conf.default: cf_parser.h
868 $(SHELL) -c "test -f squid.conf.default || ./cf_gen cf.data"
869
870 cf_parser.h: cf.data cf_gen$(EXEEXT)
871 ./cf_gen cf.data
872
873 cf_gen_defines.h: $(srcdir)/cf_gen_defines $(srcdir)/cf.data.pre
874 awk -f $(srcdir)/cf_gen_defines <$(srcdir)/cf.data.pre >cf_gen_defines.h
875
876
877 ## FIXME: generate a sed command file from configure. Then this doesn't
878 ## depend on the Makefile.
879 cf.data: cf.data.pre Makefile
880 sed "\
881 s%@DEFAULT_MIME_TABLE@%$(DEFAULT_MIME_TABLE)%g;\
882 s%@DEFAULT_DNSSERVER@%$(DEFAULT_DNSSERVER)%g;\
883 s%@DEFAULT_UNLINKD@%$(DEFAULT_UNLINKD)%g;\
884 s%@DEFAULT_PINGER@%$(DEFAULT_PINGER)%g;\
885 s%@DEFAULT_DISKD@%$(DEFAULT_DISKD)%g;\
886 s%@DEFAULT_CACHE_LOG@%$(DEFAULT_CACHE_LOG)%g;\
887 s%@DEFAULT_ACCESS_LOG@%$(DEFAULT_ACCESS_LOG)%g;\
888 s%@DEFAULT_STORE_LOG@%$(DEFAULT_STORE_LOG)%g;\
889 s%@DEFAULT_PID_FILE@%$(DEFAULT_PID_FILE)%g;\
890 s%@DEFAULT_SWAP_DIR@%$(DEFAULT_SWAP_DIR)%g;\
891 s%@DEFAULT_ICON_DIR@%$(DEFAULT_ICON_DIR)%g;\
892 s%@DEFAULT_MIB_PATH@%$(DEFAULT_MIB_PATH)%g;\
893 s%@DEFAULT_ERROR_DIR@%$(DEFAULT_ERROR_DIR)%g;\
894 s%@DEFAULT_PREFIX@%$(DEFAULT_PREFIX)%g;\
895 s%@DEFAULT_HOSTS@%$(DEFAULT_HOSTS)%g;\
896 s%@[V]ERSION@%$(VERSION)%g;"\
897 < $(srcdir)/cf.data.pre >$@
898
899 repl_modules.cc: repl_modules.sh Makefile
900 $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.cc
901
902 install-data-local: install-sysconfDATA install-dataDATA
903 @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
904 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_MIME_TABLE)" ; \
905 else \
906 echo "$(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE)" ;\
907 $(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE); \
908 fi
909 @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
910 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_CONFIG_FILE)" ; \
911 else \
912 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
913 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
914 fi
915 @if test -f $(DESTDIR)$(DEFAULT_CACHEMGR_CONFIG) ; then \
916 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_CACHEMGR_CONFIG)" ; \
917 else \
918 echo "$(INSTALL_DATA) $(srcdir)/cachemgr.conf $(DESTDIR)$(DEFAULT_CACHEMGR_CONFIG)"; \
919 $(INSTALL_DATA) $(srcdir)/cachemgr.conf $(DESTDIR)$(DEFAULT_CACHEMGR_CONFIG); \
920 fi
921 $(mkinstalldirs) $(DESTDIR)$(DEFAULT_LOG_PREFIX)
922
923 uninstall-local:
924 @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
925 echo "rm -f $(DESTDIR)$(DEFAULT_MIME_TABLE)"; \
926 $(RM) -f $(DESTDIR)$(DEFAULT_MIME_TABLE); \
927 fi
928
929 # Don't automatically uninstall config files
930 # @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
931 # echo "rm -f $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
932 # $(RM) -f $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
933 # fi
934
935 DISTCLEANFILES = cf_gen_defines.h cf.data cf_parser.h squid.conf.default \
936 globals.cc string_arrays.c repl_modules.cc
937
938 ##install-pinger:
939 ## @f=$(PINGER_EXE); \
940 ## if test -f $(libexecdir)/$$f; then \
941 ## echo $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
942 ## $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
943 ## fi; \
944 ## echo $(INSTALL_SUID) $$f $(libexecdir); \
945 ## $(INSTALL_SUID) $$f $(libexecdir) || exit 1; \
946 ## if test -f $(libexecdir)/-$$f; then \
947 ## echo $(RM) -f $(libexecdir)/-$$f; \
948 ## $(RM) -f $(libexecdir)/-$$f; \
949 ## fi
950
951 TESTSOURCES=../test-suite/test_tools.cc
952
953 check_PROGRAMS+=tests/testAuth tests/testStore tests/testUfs tests/testCoss tests/testNull
954 tests_testAuth_SOURCES= tests/testAuth.cc tests/testMain.cc tests/testAuth.h $(TESTSOURCES) \
955 AuthScheme.cc globals.cc authenticate.cc AuthUser.cc AuthUserRequest.cc AuthConfig.cc \
956 tests/stub_acl.cc tests/stub_cache_cf.cc \
957 tests/stub_helper.cc cbdata.cc String.cc tests/stub_cache_manager.cc \
958 tests/stub_store.cc HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
959 MemBuf.cc HttpHdrContRange.cc Packer.cc ACLChecklist.cc HttpHdrCc.cc HttpHdrSc.cc \
960 HttpHdrScTarget.cc url.cc ACLProxyAuth.cc ACLRegexData.cc ACLUserData.cc \
961 StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
962 tests/stub_HttpRequest.cc
963 ## acl.cc cache_cf.cc tools.cc \
964 ## helper.cc String.cc cbdata.cc HttpHeaderTools.cc store.cc cache_manager.cc \
965 ## HttpHeader.cc url.cc event.cc mem.cc HttpRequest.cc Packer.cc access_log.cc \
966 ## MemBuf.cc StatHist.cc logfile.cc
967
968 tests_testAuth_LDADD= \
969 @AUTH_LINKOBJS@ @AUTH_OBJS@ \
970 -L../lib -lmiscutil \
971 @SQUID_CPPUNIT_LA@ \
972 @SSLLIB@
973 tests_testAuth_LDFLAGS = $(LIBADD_DL)
974 tests_testAuth_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
975 @AUTH_LINKOBJS@ \
976 @AUTH_OBJS@ \
977 @SQUID_CPPUNIT_LA@
978
979
980 STORE_TEST_SOURCES=\
981 $(TESTSOURCES) \
982 CacheDigest.cc \
983 store_dir.cc \
984 store.cc \
985 store_key_md5.cc \
986 globals.cc \
987 string_arrays.c \
988 Parsing.cc \
989 ConfigOption.cc \
990 SwapDir.cc \
991 AuthScheme.cc authenticate.cc AuthUser.cc AuthUserRequest.cc AuthConfig.cc \
992 tests/stub_acl.cc tests/stub_cache_cf.cc \
993 tests/stub_helper.cc cbdata.cc String.cc tests/stub_cache_manager.cc \
994 tests/stub_comm.cc \
995 tests/stub_http.cc \
996 mem_node.cc \
997 stmem.cc \
998 tests/stub_store_client.cc \
999 tests/stub_tools.cc \
1000 HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
1001 MemBuf.cc HttpHdrContRange.cc Packer.cc ACLChecklist.cc HttpHdrCc.cc HttpHdrSc.cc \
1002 HttpHdrScTarget.cc url.cc ACLProxyAuth.cc ACLRegexData.cc ACLUserData.cc \
1003 StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
1004 tests/stub_HttpRequest.cc
1005
1006 ## why so many sources? well httpHeaderTools requites ACLChecklist & friends.
1007 ## first line - what we are testing.
1008 tests_testStore_SOURCES= tests/testStore.cc \
1009 tests/testStoreController.cc \
1010 tests/testStoreHashIndex.cc \
1011 tests/testMain.cc \
1012 tests/testStore.h \
1013 tests/testStoreController.h \
1014 tests/testStoreHashIndex.h \
1015 tests/TestSwapDir.cc \
1016 tests/TestSwapDir.h \
1017 tests/stub_store_swapout.cc \
1018 tests/stub_fd.cc \
1019 tests/stub_HttpReply.cc \
1020 tests/stub_MemObject.cc \
1021 $(STORE_TEST_SOURCES)
1022
1023 tests_testStore_LDADD= \
1024 -L../lib -lmiscutil \
1025 @SQUID_CPPUNIT_LA@
1026 tests_testStore_LDFLAGS = $(LIBADD_DL)
1027 tests_testStore_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1028 @SQUID_CPPUNIT_LA@
1029
1030 SWAP_TEST_SOURCES=\
1031 tests/stub_store_rebuild.cc \
1032 tests/stub_internal.cc \
1033 fd.cc \
1034 disk.cc \
1035 filemap.cc \
1036 HttpBody.cc \
1037 HttpMsg.cc \
1038 HttpReply.cc \
1039 HttpStatusLine.cc \
1040 int.cc \
1041 list.cc \
1042 MemObject.cc \
1043 mime.cc \
1044 StoreSwapLogData.cc \
1045 StoreIOState.cc \
1046 StoreMeta.cc \
1047 StoreMetaMD5.cc \
1048 StoreMetaSTD.cc \
1049 StoreMetaUnpacker.cc \
1050 StoreMetaURL.cc \
1051 StoreMetaVary.cc \
1052 StoreFileSystem.cc \
1053 store_io.cc \
1054 store_swapout.cc \
1055 store_swapmeta.cc \
1056 unlinkd.cc \
1057 $(STORE_TEST_SOURCES) \
1058 $(DISKIO_SOURCE)
1059
1060 SWAP_TEST_LDADD = \
1061 DiskIO/Blocking/BlockingDiskIOModule.o \
1062 repl/lru/store_repl_lru.o \
1063 @STORE_LINKOBJS@ \
1064 @STORE_OBJS@ \
1065 @REPL_OBJS@ \
1066 @DISK_LIBS@ \
1067 -L../lib -lmiscutil \
1068 @SQUID_CPPUNIT_LA@
1069 SWAP_TEST_DS =\
1070 $(top_builddir)/lib/libmiscutil.a \
1071 DiskIO/Blocking/BlockingDiskIOModule.o \
1072 repl/lru/store_repl_lru.o \
1073 repl_modules.o \
1074 @DISK_LIBS@ \
1075 @STORE_LINKOBJS@ \
1076 @STORE_OBJS@ \
1077 @REPL_OBJS@ \
1078 @SQUID_CPPUNIT_LA@
1079
1080 tests_testUfs_SOURCES= tests/testUfs.cc \
1081 tests/testMain.cc \
1082 tests/testUfs.h \
1083 $(SWAP_TEST_SOURCES)
1084 tests_testUfs_LDADD= \
1085 $(SWAP_TEST_LDADD)
1086 tests_testUfs_LDFLAGS = $(LIBADD_DL)
1087 tests_testUfs_DEPENDENCIES = \
1088 $(SWAP_TEST_DS)
1089
1090 tests_testCoss_SOURCES= tests/testCoss.cc \
1091 tests/testMain.cc \
1092 tests/testCoss.h \
1093 $(SWAP_TEST_SOURCES)
1094 tests_testCoss_LDADD= \
1095 $(SWAP_TEST_LDADD)
1096 tests_testCoss_LDFLAGS = $(LIBADD_DL)
1097 tests_testCoss_DEPENDENCIES = \
1098 $(SWAP_TEST_DS)
1099
1100 tests_testNull_SOURCES= tests/testNull.cc \
1101 tests/testMain.cc \
1102 tests/testNull.h \
1103 $(SWAP_TEST_SOURCES)
1104 tests_testNull_LDADD= \
1105 $(SWAP_TEST_LDADD)
1106 tests_testNull_LDFLAGS = $(LIBADD_DL)
1107 tests_testNull_DEPENDENCIES = \
1108 $(SWAP_TEST_DS)