xref: /lighttpd1.4/src/Makefile.am (revision 2e0edb85)
1AM_CFLAGS = $(FAM_CFLAGS) $(LIBUNWIND_CFLAGS)
2
3noinst_PROGRAMS=\
4	t/test_common \
5	t/test_configfile \
6	t/test_mod
7
8sbin_PROGRAMS=lighttpd lighttpd-angel
9LEMON=$(top_builddir)/src/lemon$(BUILD_EXEEXT)
10
11TESTS=\
12	t/test_common$(EXEEXT) \
13	t/test_configfile$(EXEEXT) \
14	t/test_mod$(EXEEXT)
15
16lemon$(BUILD_EXEEXT): lemon.c
17	$(AM_V_CC)$(CC_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ $(srcdir)/lemon.c
18
19lighttpd_angel_SOURCES=lighttpd-angel.c
20
21.PHONY: versionstamp parsers
22
23versionstamp:
24	@test -f versionstamp.h || touch versionstamp.h; \
25	REVISION=""; \
26	if test -z "$$REVISION" -a -d "$(top_srcdir)/.git" -a -x "`which git`"; then \
27		REVISION="$$(cd "$(top_srcdir)"; LANG= LC_ALL=C git describe --always 2>/dev/null || echo)"; \
28	fi; \
29	if test -n "$$REVISION"; then \
30		echo "#define REPO_VERSION \"-devel-$$REVISION\"" > versionstamp.h.tmp; \
31	else \
32		echo "#define REPO_VERSION \"\"" > versionstamp.h.tmp; \
33	fi; \
34	if ! diff versionstamp.h.tmp versionstamp.h >/dev/null 2>/dev/null; then \
35		mv versionstamp.h.tmp versionstamp.h; \
36	else \
37		rm versionstamp.h.tmp; \
38	fi
39
40configparser.h: configparser.c
41configparser.c: $(srcdir)/configparser.y $(srcdir)/lempar.c lemon$(BUILD_EXEEXT)
42	rm -f configparser.h
43	$(LEMON) -q $(srcdir)/configparser.y $(srcdir)/lempar.c
44
45parsers: configparser.c
46
47BUILT_SOURCES = parsers versionstamp
48MAINTAINERCLEANFILES = configparser.c configparser.h
49CLEANFILES = versionstamp.h versionstamp.h.tmp lemon$(BUILD_EXEEXT)
50
51common_src=base64.c buffer.c burl.c log.c \
52	http_header.c http_kv.c keyvalue.c chunk.c  \
53	http_chunk.c fdevent.c fdevent_fdnode.c gw_backend.c \
54	stat_cache.c plugin.c http_etag.c array.c \
55	algo_md5.c algo_sha1.c algo_splaytree.c \
56	configfile-glue.c \
57	http-header-glue.c \
58	http_cgi.c \
59	http_date.c \
60	rand.c \
61	request.c \
62	sock_addr.c \
63	fdlog_maint.c \
64	fdlog.c \
65	ck.c
66
67src = server.c response.c connections.c h2.c reqpool.c \
68	sock_addr_cache.c \
69	network.c \
70	network_write.c \
71	ls-hpack/lshpack.c \
72	algo_xxhash.c \
73	fdevent_impl.c \
74	http_range.c \
75	data_config.c \
76	vector.c \
77	configfile.c configparser.c
78
79lib_LTLIBRARIES =
80
81if NO_RDYNAMIC
82# if the linker doesn't allow referencing symbols of the binary
83# we have to put everything into a shared-lib and link it into
84# everything
85common_ldflags = -avoid-version -no-undefined
86lib_LTLIBRARIES += liblightcomp.la
87liblightcomp_la_SOURCES=$(common_src)
88liblightcomp_la_CFLAGS=$(AM_CFLAGS) $(LIBEV_CFLAGS)
89liblightcomp_la_LDFLAGS = $(common_ldflags)
90liblightcomp_la_LIBADD = $(PCRE_LIB) $(CRYPTO_LIB) $(FAM_LIBS) $(LIBEV_LIBS) $(ATTR_LIB)
91common_libadd = liblightcomp.la
92if !LIGHTTPD_STATIC
93common_src += mod_auth_api.c mod_vhostdb_api.c
94endif
95else
96src += $(common_src)
97common_ldflags = -avoid-version
98common_libadd =
99endif
100common_module_ldflags = -module -export-dynamic $(common_ldflags)
101
102lib_LTLIBRARIES += mod_flv_streaming.la
103mod_flv_streaming_la_SOURCES = mod_flv_streaming.c
104mod_flv_streaming_la_LDFLAGS = $(common_module_ldflags)
105mod_flv_streaming_la_LIBADD = $(common_libadd)
106
107if BUILD_WITH_GEOIP
108lib_LTLIBRARIES += mod_geoip.la
109mod_geoip_la_SOURCES = mod_geoip.c
110mod_geoip_la_LDFLAGS = $(common_module_ldflags)
111mod_geoip_la_LIBADD = $(common_libadd) $(GEOIP_LIB)
112endif
113
114if BUILD_WITH_MAXMINDDB
115lib_LTLIBRARIES += mod_maxminddb.la
116mod_maxminddb_la_SOURCES = mod_maxminddb.c
117mod_maxminddb_la_LDFLAGS = $(common_module_ldflags)
118mod_maxminddb_la_LIBADD = $(common_libadd) $(MAXMINDDB_LIB)
119endif
120
121lib_LTLIBRARIES += mod_evasive.la
122mod_evasive_la_SOURCES = mod_evasive.c
123mod_evasive_la_LDFLAGS = $(common_module_ldflags)
124mod_evasive_la_LIBADD = $(common_libadd)
125
126lib_LTLIBRARIES += mod_webdav.la
127mod_webdav_la_SOURCES = mod_webdav.c
128mod_webdav_la_CFLAGS = $(AM_CFLAGS) $(XML_CFLAGS) $(SQLITE_CFLAGS)
129mod_webdav_la_LDFLAGS = $(common_module_ldflags)
130mod_webdav_la_LIBADD = $(common_libadd) $(XML_LIBS) $(SQLITE_LIBS) $(UUID_LIBS) $(ELFTC_LIB)
131
132if BUILD_WITH_LUA
133lib_LTLIBRARIES += mod_magnet.la
134mod_magnet_la_SOURCES = mod_magnet.c mod_magnet_cache.c algo_hmac.c
135mod_magnet_la_CFLAGS = $(AM_CFLAGS) $(LUA_CFLAGS)
136mod_magnet_la_LDFLAGS = $(common_module_ldflags)
137mod_magnet_la_LIBADD = $(common_libadd) $(LUA_LIBS) $(CRYPTO_LIB) -lm
138endif
139
140if BUILD_WITH_LUA
141lib_LTLIBRARIES += mod_cml.la
142mod_cml_la_SOURCES = mod_cml.c mod_cml_lua.c mod_cml_funcs.c
143mod_cml_la_CFLAGS = $(AM_CFLAGS) $(LUA_CFLAGS)
144mod_cml_la_LDFLAGS = $(common_module_ldflags)
145mod_cml_la_LIBADD = $(MEMCACHED_LIB) $(common_libadd) $(LUA_LIBS) $(CRYPTO_LIB) -lm
146endif
147
148if BUILD_MOD_TRIGGER_B4_DL
149lib_LTLIBRARIES += mod_trigger_b4_dl.la
150mod_trigger_b4_dl_la_SOURCES = mod_trigger_b4_dl.c
151mod_trigger_b4_dl_la_LDFLAGS = $(common_module_ldflags)
152mod_trigger_b4_dl_la_LIBADD = $(GDBM_LIB) $(MEMCACHED_LIB) $(common_libadd)
153endif
154
155lib_LTLIBRARIES += mod_vhostdb.la
156mod_vhostdb_la_SOURCES = mod_vhostdb.c
157if !NO_RDYNAMIC
158mod_vhostdb_la_SOURCES += mod_vhostdb_api.c
159endif
160mod_vhostdb_la_LDFLAGS = $(common_module_ldflags)
161mod_vhostdb_la_LIBADD = $(common_libadd)
162
163if BUILD_WITH_LDAP
164lib_LTLIBRARIES += mod_vhostdb_ldap.la
165mod_vhostdb_ldap_la_SOURCES = mod_vhostdb_ldap.c
166mod_vhostdb_ldap_la_LDFLAGS = $(common_module_ldflags)
167mod_vhostdb_ldap_la_LIBADD = $(LDAP_LIB) $(LBER_LIB) $(common_libadd)
168endif
169
170if BUILD_WITH_MYSQL
171lib_LTLIBRARIES += mod_mysql_vhost.la
172mod_mysql_vhost_la_SOURCES = mod_mysql_vhost.c
173mod_mysql_vhost_la_LDFLAGS = $(common_module_ldflags)
174mod_mysql_vhost_la_LIBADD = $(MYSQL_LIBS) $(common_libadd)
175mod_mysql_vhost_la_CPPFLAGS = $(MYSQL_CFLAGS)
176endif
177
178if BUILD_WITH_MYSQL
179lib_LTLIBRARIES += mod_vhostdb_mysql.la
180mod_vhostdb_mysql_la_SOURCES = mod_vhostdb_mysql.c
181mod_vhostdb_mysql_la_LDFLAGS = $(common_module_ldflags)
182mod_vhostdb_mysql_la_LIBADD = $(MYSQL_LIBS) $(common_libadd)
183mod_vhostdb_mysql_la_CPPFLAGS = $(MYSQL_CFLAGS)
184endif
185
186if BUILD_WITH_PGSQL
187lib_LTLIBRARIES += mod_vhostdb_pgsql.la
188mod_vhostdb_pgsql_la_SOURCES = mod_vhostdb_pgsql.c
189mod_vhostdb_pgsql_la_LDFLAGS = $(common_module_ldflags)
190mod_vhostdb_pgsql_la_LIBADD = $(PGSQL_LIBS) $(common_libadd)
191mod_vhostdb_pgsql_la_CPPFLAGS = $(PGSQL_CFLAGS)
192endif
193
194if BUILD_WITH_DBI
195lib_LTLIBRARIES += mod_vhostdb_dbi.la
196mod_vhostdb_dbi_la_SOURCES = mod_vhostdb_dbi.c
197mod_vhostdb_dbi_la_LDFLAGS = $(common_module_ldflags)
198mod_vhostdb_dbi_la_LIBADD = $(DBI_LIBS) $(common_libadd)
199mod_vhostdb_dbi_la_CPPFLAGS = $(DBI_CFLAGS)
200endif
201
202lib_LTLIBRARIES += mod_cgi.la
203mod_cgi_la_SOURCES = mod_cgi.c
204mod_cgi_la_LDFLAGS = $(common_module_ldflags)
205mod_cgi_la_LIBADD = $(common_libadd)
206
207lib_LTLIBRARIES += mod_scgi.la
208mod_scgi_la_SOURCES = mod_scgi.c
209mod_scgi_la_LDFLAGS = $(common_module_ldflags)
210mod_scgi_la_LIBADD = $(common_libadd)
211
212lib_LTLIBRARIES += mod_staticfile.la
213mod_staticfile_la_SOURCES = mod_staticfile.c
214mod_staticfile_la_LDFLAGS = $(common_module_ldflags)
215mod_staticfile_la_LIBADD = $(common_libadd)
216
217lib_LTLIBRARIES += mod_dirlisting.la
218mod_dirlisting_la_SOURCES = mod_dirlisting.c
219mod_dirlisting_la_LDFLAGS = $(common_module_ldflags)
220mod_dirlisting_la_LIBADD = $(common_libadd)
221
222lib_LTLIBRARIES += mod_indexfile.la
223mod_indexfile_la_SOURCES = mod_indexfile.c
224mod_indexfile_la_LDFLAGS = $(common_module_ldflags)
225mod_indexfile_la_LIBADD = $(common_libadd)
226
227lib_LTLIBRARIES += mod_setenv.la
228mod_setenv_la_SOURCES = mod_setenv.c
229mod_setenv_la_LDFLAGS = $(common_module_ldflags)
230mod_setenv_la_LIBADD = $(common_libadd)
231
232lib_LTLIBRARIES += mod_alias.la
233mod_alias_la_SOURCES = mod_alias.c
234mod_alias_la_LDFLAGS = $(common_module_ldflags)
235mod_alias_la_LIBADD = $(common_libadd)
236
237lib_LTLIBRARIES += mod_userdir.la
238mod_userdir_la_SOURCES = mod_userdir.c
239mod_userdir_la_LDFLAGS = $(common_module_ldflags)
240mod_userdir_la_LIBADD = $(common_libadd)
241
242lib_LTLIBRARIES += mod_rrdtool.la
243mod_rrdtool_la_SOURCES = mod_rrdtool.c
244mod_rrdtool_la_LDFLAGS = $(common_module_ldflags)
245mod_rrdtool_la_LIBADD = $(common_libadd)
246
247lib_LTLIBRARIES += mod_usertrack.la
248mod_usertrack_la_SOURCES = mod_usertrack.c
249mod_usertrack_la_LDFLAGS = $(common_module_ldflags)
250mod_usertrack_la_LIBADD = $(common_libadd) $(CRYPTO_LIB)
251
252lib_LTLIBRARIES += mod_proxy.la
253mod_proxy_la_SOURCES = mod_proxy.c
254mod_proxy_la_LDFLAGS = $(common_module_ldflags)
255mod_proxy_la_LIBADD = $(common_libadd)
256
257lib_LTLIBRARIES += mod_sockproxy.la
258mod_sockproxy_la_SOURCES = mod_sockproxy.c
259mod_sockproxy_la_LDFLAGS = $(common_module_ldflags)
260mod_sockproxy_la_LIBADD = $(common_libadd)
261
262lib_LTLIBRARIES += mod_ssi.la
263mod_ssi_la_SOURCES = mod_ssi.c
264mod_ssi_la_LDFLAGS = $(common_module_ldflags)
265mod_ssi_la_LIBADD = $(common_libadd)
266
267lib_LTLIBRARIES += mod_secdownload.la
268mod_secdownload_la_SOURCES = mod_secdownload.c algo_hmac.c
269mod_secdownload_la_LDFLAGS = $(common_module_ldflags)
270mod_secdownload_la_LIBADD = $(common_libadd) $(CRYPTO_LIB)
271
272#lib_LTLIBRARIES += mod_httptls.la
273#mod_httptls_la_SOURCES = mod_httptls.c
274#mod_httptls_la_LDFLAGS = $(common_module_ldflags)
275#mod_httptls_la_LIBADD = $(common_libadd)
276
277lib_LTLIBRARIES += mod_expire.la
278mod_expire_la_SOURCES = mod_expire.c
279mod_expire_la_LDFLAGS = $(common_module_ldflags)
280mod_expire_la_LIBADD = $(common_libadd)
281
282lib_LTLIBRARIES += mod_evhost.la
283mod_evhost_la_SOURCES = mod_evhost.c
284mod_evhost_la_LDFLAGS = $(common_module_ldflags)
285mod_evhost_la_LIBADD = $(common_libadd)
286
287lib_LTLIBRARIES += mod_simple_vhost.la
288mod_simple_vhost_la_SOURCES = mod_simple_vhost.c
289mod_simple_vhost_la_LDFLAGS = $(common_module_ldflags)
290mod_simple_vhost_la_LIBADD = $(common_libadd)
291
292lib_LTLIBRARIES += mod_ajp13.la
293mod_ajp13_la_SOURCES = mod_ajp13.c
294mod_ajp13_la_LDFLAGS = $(common_module_ldflags)
295mod_ajp13_la_LIBADD = $(common_libadd)
296
297lib_LTLIBRARIES += mod_fastcgi.la
298mod_fastcgi_la_SOURCES = mod_fastcgi.c
299mod_fastcgi_la_LDFLAGS = $(common_module_ldflags)
300mod_fastcgi_la_LIBADD = $(common_libadd)
301
302lib_LTLIBRARIES += mod_extforward.la
303mod_extforward_la_SOURCES = mod_extforward.c
304mod_extforward_la_LDFLAGS = $(common_module_ldflags)
305mod_extforward_la_LIBADD = $(common_libadd)
306
307lib_LTLIBRARIES += mod_access.la
308mod_access_la_SOURCES = mod_access.c
309mod_access_la_LDFLAGS = $(common_module_ldflags)
310mod_access_la_LIBADD = $(common_libadd)
311
312lib_LTLIBRARIES += mod_deflate.la
313mod_deflate_la_SOURCES = mod_deflate.c
314mod_deflate_la_LDFLAGS = $(BROTLI_CFLAGS) $(common_module_ldflags)
315mod_deflate_la_LIBADD = $(Z_LIB) $(ZSTD_LIB) $(BZ_LIB) $(BROTLI_LIBS) $(common_libadd)
316
317lib_LTLIBRARIES += mod_auth.la
318mod_auth_la_SOURCES = mod_auth.c
319if !NO_RDYNAMIC
320mod_auth_la_SOURCES += mod_auth_api.c
321endif
322mod_auth_la_LDFLAGS = $(common_module_ldflags)
323mod_auth_la_LIBADD = $(CRYPTO_LIB) $(common_libadd)
324
325lib_LTLIBRARIES += mod_authn_file.la
326mod_authn_file_la_SOURCES = mod_authn_file.c
327mod_authn_file_la_LDFLAGS = $(common_module_ldflags)
328mod_authn_file_la_LIBADD = $(CRYPT_LIB) $(CRYPTO_LIB) $(common_libadd)
329
330if BUILD_WITH_DBI
331lib_LTLIBRARIES += mod_authn_dbi.la
332mod_authn_dbi_la_SOURCES = mod_authn_dbi.c
333mod_authn_dbi_la_LDFLAGS = $(common_module_ldflags)
334mod_authn_dbi_la_LIBADD = $(CRYPT_LIB) $(DBI_LIBS) $(CRYPTO_LIB) $(common_libadd)
335mod_authn_dbi_la_CPPFLAGS = $(DBI_CFLAGS)
336endif
337
338if BUILD_WITH_KRB5
339lib_LTLIBRARIES += mod_authn_gssapi.la
340mod_authn_gssapi_la_SOURCES = mod_authn_gssapi.c
341mod_authn_gssapi_la_LDFLAGS = $(common_module_ldflags)
342mod_authn_gssapi_la_LIBADD = $(KRB5_LIB) $(common_libadd)
343endif
344
345if BUILD_WITH_LDAP
346lib_LTLIBRARIES += mod_authn_ldap.la
347mod_authn_ldap_la_SOURCES = mod_authn_ldap.c
348mod_authn_ldap_la_LDFLAGS = $(common_module_ldflags)
349mod_authn_ldap_la_LIBADD = $(LDAP_LIB) $(LBER_LIB) $(common_libadd)
350endif
351
352if BUILD_WITH_PAM
353lib_LTLIBRARIES += mod_authn_pam.la
354mod_authn_pam_la_SOURCES = mod_authn_pam.c
355mod_authn_pam_la_LDFLAGS = $(common_module_ldflags)
356mod_authn_pam_la_LIBADD = $(PAM_LIB) $(common_libadd)
357endif
358
359if BUILD_WITH_MYSQL
360lib_LTLIBRARIES += mod_authn_mysql.la
361mod_authn_mysql_la_SOURCES = mod_authn_mysql.c
362mod_authn_mysql_la_LDFLAGS = $(common_module_ldflags)
363mod_authn_mysql_la_LIBADD = $(CRYPT_LIB) $(MYSQL_LIBS) $(CRYPTO_LIB) $(common_libadd)
364mod_authn_mysql_la_CPPFLAGS = $(MYSQL_CFLAGS)
365endif
366
367if BUILD_WITH_SASL
368lib_LTLIBRARIES += mod_authn_sasl.la
369mod_authn_sasl_la_SOURCES = mod_authn_sasl.c
370mod_authn_sasl_la_LDFLAGS = $(common_module_ldflags)
371mod_authn_sasl_la_LIBADD = $(SASL_LIBS) $(common_libadd)
372mod_authn_sasl_la_CPPFLAGS = $(SASL_CFLAGS)
373endif
374
375if BUILD_WITH_OPENSSL
376lib_LTLIBRARIES += mod_openssl.la
377mod_openssl_la_SOURCES = mod_openssl.c
378mod_openssl_la_LDFLAGS = $(common_module_ldflags)
379mod_openssl_la_LIBADD = $(OPENSSL_LIBS) $(common_libadd)
380mod_openssl_la_CPPFLAGS = $(OPENSSL_CFLAGS)
381endif
382
383if BUILD_WITH_MBEDTLS
384lib_LTLIBRARIES += mod_mbedtls.la
385mod_mbedtls_la_SOURCES = mod_mbedtls.c
386mod_mbedtls_la_LDFLAGS = $(common_module_ldflags)
387mod_mbedtls_la_LIBADD = $(MTLS_LIBS) $(common_libadd)
388endif
389
390if BUILD_WITH_GNUTLS
391lib_LTLIBRARIES += mod_gnutls.la
392mod_gnutls_la_SOURCES = mod_gnutls.c
393mod_gnutls_la_LDFLAGS = $(common_module_ldflags)
394mod_gnutls_la_LIBADD = $(GNUTLS_LIBS) $(common_libadd)
395mod_gnutls_la_CPPFLAGS = $(GNUTLS_CFLAGS)
396endif
397
398if BUILD_WITH_NSS
399lib_LTLIBRARIES += mod_nss.la
400mod_nss_la_SOURCES = mod_nss.c
401mod_nss_la_LDFLAGS = $(common_module_ldflags)
402mod_nss_la_LIBADD = $(NSS_LIBS) $(common_libadd)
403mod_nss_la_CPPFLAGS = $(NSS_CFLAGS)
404endif
405
406if BUILD_WITH_WOLFSSL
407lib_LTLIBRARIES += mod_wolfssl.la
408mod_wolfssl_la_SOURCES = mod_wolfssl.c
409mod_wolfssl_la_LDFLAGS = $(common_module_ldflags)
410mod_wolfssl_la_LIBADD = $(WOLFSSL_LIBS) $(common_libadd)
411mod_wolfssl_la_CPPFLAGS = $(WOLFSSL_CFLAGS)
412endif
413
414
415lib_LTLIBRARIES += mod_rewrite.la
416mod_rewrite_la_SOURCES = mod_rewrite.c
417mod_rewrite_la_LDFLAGS = $(common_module_ldflags)
418mod_rewrite_la_LIBADD = $(common_libadd)
419
420lib_LTLIBRARIES += mod_redirect.la
421mod_redirect_la_SOURCES = mod_redirect.c
422mod_redirect_la_LDFLAGS = $(common_module_ldflags)
423mod_redirect_la_LIBADD = $(common_libadd)
424
425lib_LTLIBRARIES += mod_status.la
426mod_status_la_SOURCES = mod_status.c
427mod_status_la_LDFLAGS = $(common_module_ldflags)
428mod_status_la_LIBADD = $(common_libadd)
429
430lib_LTLIBRARIES += mod_accesslog.la
431mod_accesslog_la_SOURCES = mod_accesslog.c
432mod_accesslog_la_LDFLAGS = $(common_module_ldflags)
433mod_accesslog_la_LIBADD = $(common_libadd)
434
435lib_LTLIBRARIES += mod_uploadprogress.la
436mod_uploadprogress_la_SOURCES = mod_uploadprogress.c
437mod_uploadprogress_la_LDFLAGS = $(common_module_ldflags)
438mod_uploadprogress_la_LIBADD = $(common_libadd)
439
440lib_LTLIBRARIES += mod_wstunnel.la
441mod_wstunnel_la_SOURCES = mod_wstunnel.c
442mod_wstunnel_la_LDFLAGS = $(common_module_ldflags)
443mod_wstunnel_la_LIBADD = $(common_libadd) $(CRYPTO_LIB)
444
445
446hdr = base64.h buffer.h burl.h network.h log.h http_kv.h keyvalue.h \
447	response.h request.h reqpool.h chunk.h h2.h \
448	first.h http_chunk.h \
449	algo_hmac.h \
450	algo_md.h algo_md5.h algo_sha1.h algo_splaytree.h algo_xxhash.h \
451	fdlog.h \
452	ck.h \
453	http_cgi.h http_date.h \
454	http_header.h http_range.h \
455	fdevent.h gw_backend.h connections.h base.h base_decls.h stat_cache.h \
456	plugin.h plugin_config.h \
457	http_etag.h array.h vector.h \
458	fdevent_impl.h network_write.h configfile.h \
459	sock_addr_cache.h \
460	configparser.h \
461	rand.h \
462	sys-crypto.h sys-crypto-md.h \
463	sys-endian.h sys-mmap.h sys-socket.h sys-strings.h sys-time.h \
464	mod_cml.h mod_cml_funcs.h \
465	sock_addr.h status_counter.h \
466	mod_auth_api.h \
467	mod_magnet_cache.h \
468	mod_vhostdb_api.h \
469	ls-hpack/lshpack.h \
470	ls-hpack/lsxpack_header.h \
471	ls-hpack/huff-tables.h \
472	compat/fastcgi.h
473
474
475DEFS= @DEFS@ -DHAVE_VERSIONSTAMP_H -DLIBRARY_DIR="\"$(libdir)\"" -DSBIN_DIR="\"$(sbindir)\""
476
477
478if LIGHTTPD_STATIC
479
480## static lighttpd server (used in conjunction with -DLIGHTTPD_STATIC)
481## (order is not important)
482lighttpd_SOURCES = \
483  $(src) \
484  mod_access.c \
485  mod_accesslog.c \
486  mod_ajp13.c \
487  mod_alias.c \
488  mod_auth.c \
489  mod_auth_api.c \
490  mod_authn_file.c \
491  mod_cgi.c \
492  mod_deflate.c \
493  mod_dirlisting.c \
494  mod_evasive.c \
495  mod_expire.c \
496  mod_extforward.c \
497  mod_fastcgi.c \
498  mod_flv_streaming.c \
499  mod_indexfile.c \
500  mod_proxy.c \
501  mod_redirect.c \
502  mod_rewrite.c \
503  mod_rrdtool.c \
504  mod_scgi.c \
505  mod_secdownload.c algo_hmac.c \
506  mod_setenv.c \
507  mod_simple_vhost.c \
508  mod_ssi.c \
509  mod_staticfile.c \
510  mod_status.c \
511  mod_uploadprogress.c \
512  mod_userdir.c \
513  mod_usertrack.c \
514  mod_vhostdb.c \
515  mod_vhostdb_api.c \
516  mod_webdav.c
517lighttpd_CPPFLAGS = \
518  -DLIGHTTPD_STATIC \
519  $(XML_CFLAGS) $(SQLITE_CFLAGS) \
520  $(FAM_CFLAGS) $(LIBEV_CFLAGS) $(LIBUNWIND_CFLAGS)
521lighttpd_LDADD = \
522  $(common_libadd) \
523  $(CRYPT_LIB) $(CRYPTO_LIB) $(XXHASH_LIBS) \
524  $(XML_LIBS) $(SQLITE_LIBS) $(UUID_LIBS) $(ELFTC_LIB) \
525  $(PCRE_LIB) $(Z_LIB) $(ZSTD_LIB) $(BZ_LIB) $(BROTLI_LIBS) \
526  $(DL_LIB) $(SENDFILE_LIB) $(ATTR_LIB) \
527  $(FAM_LIBS) $(LIBEV_LIBS) $(LIBUNWIND_LIBS)
528lighttpd_LDFLAGS = -export-dynamic
529
530if BUILD_WITH_GEOIP
531lighttpd_SOURCES += mod_geoip.c
532lighttpd_LDADD += $(GEOIP_LIB)
533endif
534if BUILD_WITH_MAXMINDDB
535lighttpd_SOURCES += mod_maxminddb.c
536lighttpd_LDADD += $(MAXMINDDB_LIB)
537endif
538if BUILD_WITH_LUA
539lighttpd_SOURCES += mod_cml.c mod_cml_lua.c mod_cml_funcs.c \
540                    mod_magnet.c mod_magnet_cache.c
541                    #algo_hmac.c
542lighttpd_CPPFLAGS += $(LUA_CFLAGS)
543lighttpd_LDADD += $(LUA_LIBS) -lm
544endif
545if BUILD_WITH_KRB5
546lighttpd_SOURCES += mod_authn_gssapi.c
547lighttpd_LDADD += $(KRB5_LIB)
548endif
549if BUILD_WITH_LDAP
550lighttpd_SOURCES += mod_authn_ldap.c mod_vhostdb_ldap.c
551lighttpd_LDADD += $(LDAP_LIB) $(LBER_LIB)
552endif
553if BUILD_WITH_PAM
554lighttpd_SOURCES += mod_authn_pam.c
555lighttpd_LDADD += $(PAM_LIB)
556endif
557if BUILD_WITH_MYSQL
558lighttpd_SOURCES += mod_authn_mysql.c mod_mysql_vhost.c mod_vhostdb_mysql.c
559lighttpd_CPPFLAGS += $(MYSQL_CFLAGS)
560lighttpd_LDADD += $(MYSQL_LIBS)
561endif
562if BUILD_WITH_PGSQL
563lighttpd_SOURCES += mod_vhostdb_pgsql.c
564lighttpd_CPPFLAGS += $(PGSQL_CFLAGS)
565lighttpd_LDADD += $(PGSQL_LIBS)
566endif
567if BUILD_WITH_DBI
568lighttpd_SOURCES += mod_authn_dbi.c mod_vhostdb_dbi.c
569lighttpd_CPPFLAGS += $(DBI_CFLAGS)
570lighttpd_LDADD += $(DBI_LIBS)
571endif
572if BUILD_WITH_OPENSSL
573lighttpd_SOURCES += mod_openssl.c
574lighttpd_CPPFLAGS += $(OPENSSL_CFLAGS)
575lighttpd_LDADD += $(OPENSSL_LIBS)
576endif
577if BUILD_WITH_MBEDTLS
578lighttpd_SOURCES += mod_mbedtls.c
579lighttpd_LDADD += $(MTLS_LIBS)
580endif
581if BUILD_WITH_GNUTLS
582lighttpd_SOURCES += mod_gnutls.c
583lighttpd_CPPFLAGS += $(GNUTLS_CFLAGS)
584lighttpd_LDADD += $(GNUTLS_LIBS)
585endif
586if BUILD_WITH_NSS
587lighttpd_SOURCES += mod_nss.c
588lighttpd_CPPFLAGS += $(NSS_CFLAGS)
589lighttpd_LDADD += $(NSS_LIBS)
590endif
591if BUILD_WITH_WOLFSSL
592lighttpd_SOURCES += mod_wolfssl.c
593lighttpd_CPPFLAGS += $(WOLFSSL_CFLAGS)
594lighttpd_LDADD += $(WOLFSSL_LIBS)
595endif
596if BUILD_WITH_MEMCACHED
597lighttpd_CPPFLAGS += $(MEMCACHED_CFLAGS)
598lighttpd_LDADD += $(MEMCACHED_LIB)
599endif
600if BUILD_WITH_GDBM
601lighttpd_LDADD += $(GDBM_LIB)
602endif
603if BUILD_MOD_TRIGGER_B4_DL
604lighttpd_SOURCES += mod_trigger_b4_dl.c
605endif
606
607else
608
609## default lighttpd server
610lighttpd_SOURCES = $(src)
611lighttpd_CPPFLAGS = $(FAM_CFLAGS) $(LIBEV_CFLAGS)
612lighttpd_LDADD = $(PCRE_LIB) $(DL_LIB) $(SENDFILE_LIB) $(ATTR_LIB) $(common_libadd) $(CRYPTO_LIB) $(XXHASH_LIBS) $(FAM_LIBS) $(LIBEV_LIBS) $(LIBUNWIND_LIBS)
613lighttpd_LDFLAGS = -export-dynamic
614
615endif
616
617t_test_common_SOURCES = t/test_common.c \
618                        t/test_array.c \
619                        t/test_base64.c \
620                        t/test_buffer.c \
621                        t/test_burl.c \
622                        t/test_keyvalue.c \
623                        t/test_request.c \
624                        http_header.c \
625                        http_kv.c \
626                        log.c \
627                        fdlog.c \
628                        sock_addr.c \
629                        ck.c
630t_test_common_LDADD   = $(LIBUNWIND_LIBS) $(PCRE_LIB)
631
632t_test_configfile_SOURCES = t/test_configfile.c buffer.c array.c data_config.c http_header.c http_kv.c vector.c log.c fdlog.c sock_addr.c ck.c
633t_test_configfile_LDADD = $(PCRE_LIB) $(LIBUNWIND_LIBS)
634
635t_test_mod_SOURCES = $(common_src) t/test_mod.c \
636                     t/test_mod_access.c \
637                     t/test_mod_alias.c \
638                     t/test_mod_evasive.c \
639                     t/test_mod_evhost.c \
640                     t/test_mod_indexfile.c \
641                     t/test_mod_simple_vhost.c \
642                     t/test_mod_ssi.c \
643                     t/test_mod_staticfile.c \
644                     t/test_mod_userdir.c
645t_test_mod_CFLAGS  = $(AM_CFLAGS) $(LIBEV_CFLAGS)
646t_test_mod_LDADD   = $(LIBUNWIND_LIBS) $(PCRE_LIB) $(CRYPTO_LIB) $(DL_LIB) $(FAM_LIBS) $(LIBEV_LIBS) $(ATTR_LIB)
647
648noinst_HEADERS   = $(hdr)
649EXTRA_DIST = \
650	t/README \
651	mod_skeleton.c \
652	configparser.y \
653	lemon.c \
654	lempar.c \
655	SConscript \
656	CMakeLists.txt config.h.cmake \
657	meson.build
658