summaryrefslogtreecommitdiff
path: root/conf/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'conf/Makefile.am')
-rw-r--r--conf/Makefile.am163
1 files changed, 163 insertions, 0 deletions
diff --git a/conf/Makefile.am b/conf/Makefile.am
new file mode 100644
index 000000000..61a0add4d
--- /dev/null
+++ b/conf/Makefile.am
@@ -0,0 +1,163 @@
+# make this relative to the location of strongswan.conf
+strongswanconfdir = `dirname $(strongswan_conf)`
+strongswanddir = $(strongswanconfdir)/strongswan.d
+charonconfdir = $(strongswanddir)/charon
+# copy these files also to /usr/share
+templatesdir = $(pkgdatadir)/templates/config
+optionstemplatedir = $(templatesdir)/strongswan.d
+pluginstemplatedir = $(templatesdir)/plugins
+
+options = \
+ options/attest.opt \
+ options/charon.opt \
+ options/charon-logging.opt \
+ options/imcv.opt \
+ options/manager.opt \
+ options/medsrv.opt \
+ options/pacman.opt \
+ options/pool.opt \
+ options/starter.opt \
+ options/tnc.opt \
+ options/tools.opt
+
+plugins = \
+ plugins/android_log.opt \
+ plugins/attr.opt \
+ plugins/attr-sql.opt \
+ plugins/certexpire.opt \
+ plugins/coupling.opt \
+ plugins/dhcp.opt \
+ plugins/dnscert.opt \
+ plugins/duplicheck.opt \
+ plugins/eap-aka.opt \
+ plugins/eap-aka-3ggp2.opt \
+ plugins/eap-dynamic.opt \
+ plugins/eap-gtc.opt \
+ plugins/eap-peap.opt \
+ plugins/eap-radius.opt \
+ plugins/eap-sim.opt \
+ plugins/eap-simaka-sql.opt \
+ plugins/eap-tls.opt \
+ plugins/eap-tnc.opt \
+ plugins/eap-ttls.opt \
+ plugins/error-notify.opt \
+ plugins/gcrypt.opt \
+ plugins/ha.opt \
+ plugins/imc-attestation.opt \
+ plugins/imc-os.opt \
+ plugins/imc-scanner.opt \
+ plugins/imc-swid.opt \
+ plugins/imc-test.opt \
+ plugins/imv-attestation.opt \
+ plugins/imv-os.opt \
+ plugins/imv-scanner.opt \
+ plugins/imv-test.opt \
+ plugins/ipseckey.opt \
+ plugins/led.opt \
+ plugins/kernel-klips.opt \
+ plugins/kernel-libipsec.opt \
+ plugins/kernel-netlink.opt \
+ plugins/kernel-pfroute.opt \
+ plugins/load-tester.opt \
+ plugins/lookip.opt \
+ plugins/ntru.opt \
+ plugins/openssl.opt \
+ plugins/pkcs11.opt \
+ plugins/radattr.opt \
+ plugins/random.opt \
+ plugins/resolve.opt \
+ plugins/socket-default.opt \
+ plugins/sql.opt \
+ plugins/stroke.opt \
+ plugins/systime-fix.opt \
+ plugins/tnc-ifmap.opt \
+ plugins/tnc-imc.opt \
+ plugins/tnc-imv.opt \
+ plugins/tnc-pdp.opt \
+ plugins/tnccs-11.opt \
+ plugins/tnccs-20.opt \
+ plugins/unbound.opt \
+ plugins/updown.opt \
+ plugins/whitelist.opt \
+ plugins/xauth-eap.opt \
+ plugins/xauth-pam.opt
+
+alloptions = $(options) $(plugins)
+
+confsnippets = $(alloptions:opt=conf)
+
+# we only install snippets for enabled plugins
+plugins_install_tmp = $(charon_plugins:%=plugins/%.tmp)
+plugins_install_src = $(charon_plugins:%=plugins/%.conf)
+# only install snippets for enabled components
+# has to be defined via autoconf as we can't do it with automake conditionals
+options_install_src = $(strongswan_options:%=options/%.conf)
+
+templates_DATA = strongswan.conf
+optionstemplate_DATA = $(options_install_src)
+pluginstemplate_DATA = $(plugins_install_src)
+man_MANS = \
+ strongswan.conf.5
+
+BUILT_SOURCES = default.conf strongswan.conf.5.main $(confsnippets)
+EXTRA_DIST = format-options.py strongswan.conf default.opt \
+ default.conf strongswan.conf.5.main $(alloptions) $(confsnippets)
+
+CLEANFILES=$(man_MANS)
+
+.opt.conf:
+ $(AM_V_GEN) \
+ case "$<" in \
+ *plugins/*) \
+ sed \
+ -e "s:\@PLUGIN_NAME\@:`basename $< .opt`:" \
+ $(srcdir)/default.opt | cat - $< | \
+ $(PYTHON) $(srcdir)/format-options.py -f conf -r charon.plugins > $(srcdir)/$@ \
+ ;; \
+ *) \
+ $(PYTHON) $(srcdir)/format-options.py -f conf -r charon.plugins $< > $(srcdir)/$@ \
+ ;; \
+ esac
+
+# we need another implicit rule to generate files from the generic template only
+# if the rules above did not catch it. this requires an intermediate step that
+# generates a copy of the generic config template.
+$(plugins_install_tmp):
+ @mkdir -p $(builddir)/plugins
+ @cp $(srcdir)/default.conf $(builddir)/$@
+
+.tmp.conf:
+ $(AM_V_GEN) \
+ sed \
+ -e "s:\@PLUGIN_NAME\@:`basename $< .tmp`:" \
+ $(builddir)/$< > $(builddir)/$@
+
+strongswan.conf.5.main: $(alloptions)
+ $(AM_V_GEN) \
+ cd $(srcdir) && $(PYTHON) format-options.py -f man $(alloptions) > $@
+
+strongswan.conf.5: strongswan.conf.5.head strongswan.conf.5.main strongswan.conf.5.tail
+ $(AM_V_GEN) \
+ cat strongswan.conf.5.head $(srcdir)/strongswan.conf.5.main strongswan.conf.5.tail > $@
+
+clean-local:
+ rm -f plugins/*.conf plugins/*.tmp
+
+maintainer-clean-local:
+ cd $(srcdir) && \
+ rm -f $(confsnippets) default.conf plugins/*.conf plugins/*.tmp
+
+install-data-local: $(plugins_install_src)
+ test -e "$(DESTDIR)${strongswanconfdir}" || $(INSTALL) -d "$(DESTDIR)$(strongswanconfdir)"
+ test -e "$(DESTDIR)${strongswanddir}" || $(INSTALL) -d "$(DESTDIR)$(strongswanddir)"
+ test -e "$(DESTDIR)${charonconfdir}" || $(INSTALL) -d "$(DESTDIR)$(charonconfdir)"
+ test -e "$(DESTDIR)$(strongswanconfdir)/strongswan.conf" || $(INSTALL) -m 644 $(srcdir)/strongswan.conf $(DESTDIR)$(strongswanconfdir)/strongswan.conf || true
+ for f in $(options_install_src); do \
+ name=`basename $$f`; \
+ test -f "$(DESTDIR)$(strongswanddir)/$$name" || $(INSTALL) -m 644 "$(srcdir)/$$f" "$(DESTDIR)$(strongswanddir)/$$name" || true; \
+ done
+ for f in $(plugins_install_src); do \
+ name=`basename $$f`; \
+ if test -f "$$f"; then dir=; else dir="$(srcdir)/"; fi; \
+ test -f "$(DESTDIR)$(charonconfdir)/$$name" || $(INSTALL) -m 644 "$$dir$$f" "$(DESTDIR)$(charonconfdir)/$$name" || true; \
+ done