]> git.ipfire.org Git - thirdparty/squid.git/blob - src/Makefile.am
Add Makefile as a dependency to repl_modules and auth_modules.
[thirdparty/squid.git] / src / Makefile.am
1 #
2 # Makefile for the Squid Object Cache server
3 #
4 # $Id: Makefile.am,v 1.3 2001/09/03 22:59:26 robertc 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 endif
15
16 if USE_SNMP
17 SNMPSOURCE = snmp_core.c snmp_agent.c
18 else
19 SNMPSOURCE =
20 endif
21
22 if USE_DELAY_POOLS
23 DELAY_POOL_SOURCE = delay_pools.c
24 else
25 DELAY_POOL_SOURCE =
26 endif
27
28 if ENABLE_HTCP
29 HTCPSOURCE = htcp.c
30 endif
31
32 if MAKE_LEAKFINDER
33 LEAKFINDERSOURCE = leakfinder.c
34 else
35 LEAKFINDERSOURCE =
36 endif
37
38 if ENABLE_UNLINKD
39 UNLINKDSOURCE = unlinkd.c
40 UNLINKD = unlinkd
41 else
42 UNLINKDSOURCE =
43 UNLINKD =
44 endif
45
46 if ENABLE_SSL
47 SSLSOURCE = ssl_support.c
48 else
49 SSLSOURCE =
50 endif
51
52 if ENABLE_WIN32SPECIFIC
53 WIN32SOURCE = win32.c
54 else
55 WIN32SOURCE =
56 endif
57
58 SUBDIRS = fs repl auth
59 #look into pkgsbin..
60 libexecdir = ${prefix}/libexec/squid
61
62 INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include
63
64 EXTRA_PROGRAMS = unlinkd pinger dnsserver
65 noinst_PROGRAMS = cf_gen
66 bin_PROGRAMS = squid client
67 libexec_PROGRAMS = @OPT_PINGER_EXE@ $(DNSSERVER) $(UNLINKD) cachemgr
68
69 cf_gen_SOURCES = cf_gen.c defines.h
70 nodist_cf_gen_HEADER = cf_gen_defines.h
71 cf_gen.$(OBJEXT): cf_gen_defines.h
72 ##Makefile defines.h ../include/autoconf.h
73 ##cf_gen_LDADD = ../lib/libmiscutil.a
74
75 EXTRA_squid_SOURCES = delay_pools.c dns.c dnsserver.c dns_internal.c htcp.c \
76 leakfinder.c snmp_core.c snmp_agent.c unlinkd.c ssl_support.c win32.c
77 squid_SOURCES = \
78 access_log.c acl.c asn.c authenticate.c cache_cf.c \
79 CacheDigest.c cache_manager.c carp.c cbdata.c client_db.c client_side.c \
80 comm.c comm_select.c debug.c defines.h $(DELAY_POOL_SOURCE) disk.c $(DNSSOURCE) enums.h \
81 errorpage.c ETag.c event.c fd.c filemap.c forward.c fqdncache.c ftp.c \
82 globals.h gopher.c helper.c $(HTCPSOURCE) http.c HttpStatusLine.c HttpHdrCc.c \
83 HttpHdrRange.c HttpHdrContRange.c HttpHeader.c HttpHeaderTools.c HttpBody.c \
84 HttpMsg.c HttpReply.c HttpRequest.c icmp.c icp_v2.c icp_v3.c ident.c internal.c \
85 ipc.c ipcache.c $(LEAKFINDERSOURCE) logfile.c main.c mem.c MemPool.c MemBuf.c \
86 mime.c multicast.c neighbors.c net_db.c Packer.c pconn.c peer_digest.c \
87 peer_select.c protos.h redirect.c referer.c refresh.c send-announce.c $(SNMPSOURCE) \
88 squid.h ssl.c $(SSLSOURCE) stat.c StatHist.c String.c stmem.c store.c store_io.c \
89 store_client.c store_digest.c store_dir.c store_key_md5.c store_log.c store_rebuild.c \
90 store_swapin.c store_swapmeta.c store_swapout.c structs.h tools.c typedefs.h \
91 $(UNLINKDSOURCE) url.c urn.c useragent.c wais.c wccp.c whois.c $(WIN32SOURCE)
92 nodist_squid_SOURCES = repl_modules.c auth_modules.c store_modules.c \
93 cf_parser.h globals.c string_arrays.c
94 squid_LDADD = @XTRA_OBJS@ @REPL_OBJS@ @STORE_OBJS@ @AUTH_OBJS@ \
95 @CRYPTLIB@ @REGEXLIB@ @SQUID_AIO_LIB@ @SQUID_PTHREAD_LIB@ \
96 @SNMPLIB@ @LIB_MALLOC@ @SSLLIB@ ../lib/libmiscutil.a @XTRA_LIBS@
97
98 unlinkd_SOURCES =
99 unlinkd_LDADD = unlinkd-daemon.o
100 unlinkd-daemon.o: unlinkd.c
101 $(COMPILE) -DUNLINK_DAEMON -c $(srcdir)/unlinkd.c -o $@
102
103 pinger_SOURCES = pinger.c debug.c globals.c
104
105 BUILT_SOURCES = cf_gen_defines.h cf_parser.h globals.c string_arrays.c \
106 repl_modules.c auth_modules.c store_modules.c
107
108 sysconf_DATA = squid.conf.default mib.txt mime.conf.default
109
110 LDADD = ../lib/libmiscutil.a @XTRA_LIBS@
111
112 EXTRA_DIST = cf_gen_defines cf.data.pre mk-globals-c.pl mk-string-arrays.pl \
113 auth_modules.sh store_modules.sh repl_modules.sh mib.txt mime.conf.default
114
115 DEFAULT_PREFIX = $(prefix)
116 DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
117 DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
118 DEFAULT_DNSSERVER = $(libexecdir)/$(DNSSERVER_EXE)
119 DEFAULT_CACHE_LOG = $(localstatedir)/logs/cache.log
120 DEFAULT_ACCESS_LOG = $(localstatedir)/logs/access.log
121 DEFAULT_STORE_LOG = $(localstatedir)/logs/store.log
122 DEFAULT_PID_FILE = $(localstatedir)/logs/squid.pid
123 DEFAULT_SWAP_DIR = $(localstatedir)/cache
124 DEFAULT_PINGER = $(libexecdir)/$(PINGER_EXE)
125 DEFAULT_UNLINKD = $(libexecdir)/$(UNLINKD_EXE)
126 DEFAULT_DISKD = $(libexecdir)/$(DISKD_EXE)
127 DEFAULT_ICON_DIR = $(sysconfdir)/icons
128 DEFAULT_ERROR_DIR = $(sysconfdir)/errors
129 DEFAULT_MIB_PATH = $(sysconfdir)/mib.txt
130
131 DEFS = -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
132
133 $(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h
134
135 snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h
136
137 globals.c: globals.h mk-globals-c.pl
138 $(PERL) $(srcdir)/mk-globals-c.pl < $(srcdir)/globals.h > $@
139
140 string_arrays.c: enums.h mk-string-arrays.pl
141 $(PERL) $(srcdir)/mk-string-arrays.pl < $(srcdir)/enums.h > $@
142
143 cache_diff: cache_diff.o debug.o globals.o store_key_md5.o
144 $(CC) -o $@ $(LDFLAGS) $@.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
145
146 test_cache_digest: test_cache_digest.o CacheDigest.o debug.o globals.o store_key_md5.o
147 $(CC) -o $@ $(LDFLAGS) $@.o CacheDigest.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
148
149 ## If autodependency works well this is not needed anymore
150 cache_cf.o: cf_parser.h
151
152 squid.conf.default: cf_parser.h
153 $(SHELL) -c "test -f squid.conf.default || ./cf_gen cf.data"
154
155 cf_parser.h: cf.data cf_gen$(EXEEXT)
156 ./cf_gen cf.data
157
158 cf_gen_defines.h: $(srcdir)/cf_gen_defines $(srcdir)/cf.data.pre
159 awk -f $(srcdir)/cf_gen_defines <$(srcdir)/cf.data.pre >cf_gen_defines.h
160
161
162 ## FIXME: generate a sed command file from configure. Then this doesn't
163 ## depend on the Makefile.
164 cf.data: cf.data.pre Makefile
165 sed "\
166 s%@DEFAULT_MIME_TABLE@%$(DEFAULT_MIME_TABLE)%g;\
167 s%@DEFAULT_DNSSERVER@%$(DEFAULT_DNSSERVER)%g;\
168 s%@DEFAULT_UNLINKD@%$(DEFAULT_UNLINKD)%g;\
169 s%@DEFAULT_PINGER@%$(DEFAULT_PINGER)%g;\
170 s%@DEFAULT_DISKD@%$(DEFAULT_DISKD)%g;\
171 s%@DEFAULT_CACHE_LOG@%$(DEFAULT_CACHE_LOG)%g;\
172 s%@DEFAULT_ACCESS_LOG@%$(DEFAULT_ACCESS_LOG)%g;\
173 s%@DEFAULT_STORE_LOG@%$(DEFAULT_STORE_LOG)%g;\
174 s%@DEFAULT_PID_FILE@%$(DEFAULT_PID_FILE)%g;\
175 s%@DEFAULT_SWAP_DIR@%$(DEFAULT_SWAP_DIR)%g;\
176 s%@DEFAULT_ICON_DIR@%$(DEFAULT_ICON_DIR)%g;\
177 s%@DEFAULT_MIB_PATH@%$(DEFAULT_MIB_PATH)%g;\
178 s%@DEFAULT_ERROR_DIR@%$(DEFAULT_ERROR_DIR)%g;\
179 s%@DEFAULT_PREFIX@%$(DEFAULT_PREFIX)%g;"\
180 < $(srcdir)/cf.data.pre >$@
181
182 store_modules.c: store_modules.sh Makefile
183 $(SHELL) $(srcdir)/store_modules.sh $(STORE_MODULES) >store_modules.c
184
185 repl_modules.c: repl_modules.sh Makefile
186 $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.c
187
188 auth_modules.c: auth_modules.sh Makefile
189 @$(SHELL) $(srcdir)/auth_modules.sh $(AUTH_MODULES) >auth_modules.c
190
191 install-data-local:
192 @if test -f $(DESTDIR)$(sysconfdir)/mime.conf ; then \
193 echo "$@ will not overwrite existing $(DESTDIR)$(sysconfdir)/mime.conf" ; \
194 else \
195 echo "$(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(sysconfdir)/mime.conf" ;\
196 $(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(sysconfdir)/mime.conf; \
197 fi
198 @if test -f $(DESTDIR)$(sysconfdir)/squid.conf ; then \
199 echo "$@ will not overwrite existing $(DESTDIR)$(sysconfdir)/squid.conf" ; \
200 else \
201 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(sysconfdir)/squid.conf"; \
202 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(sysconfdir)/squid.conf; \
203 fi
204
205 uninstall-local:
206 @if test -f $(DESTDIR)$(sysconfdir)/mime.conf ; then \
207 echo "rm -f $(DESTDIR)$(sysconfdir)/mime.conf"; \
208 $(RM) -f $(DESTDIR)$(sysconfdir)/mime.conf; \
209 fi
210 @if test -f $(DESTDIR)$(sysconfdir)/squid.conf ; then \
211 echo "rm -f $(DESTDIR)$(sysconfdir)/squid.conf"; \
212 $(RM) -f $(DESTDIR)$(sysconfdir)/squid.conf; \
213 fi
214
215 DISTCLEANFILES = cf_gen_defines.h cf.data cf_parser.h squid.conf.default \
216 globals.c string_arrays.c repl_modules.c auth_modules.c store_modules.c
217
218 ##install-pinger:
219 ## @f=$(PINGER_EXE); \
220 ## if test -f $(libexecdir)/$$f; then \
221 ## echo $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
222 ## $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
223 ## fi; \
224 ## echo $(INSTALL_SUID) $$f $(libexecdir); \
225 ## $(INSTALL_SUID) $$f $(libexecdir) || exit 1; \
226 ## if test -f $(libexecdir)/-$$f; then \
227 ## echo $(RM) -f $(libexecdir)/-$$f; \
228 ## $(RM) -f $(libexecdir)/-$$f; \
229 ## fi
230