all: known_hosts authorized_keys config
	@chmod -R og= .
.PHONY: all

known_hosts: $(wildcard known_hosts.d/*)
	touch $@
	for f in $^; do \
	  echo "### from $$f:"; \
	  cat $$f; \
	  echo; \
	done > $@

authorized_keys: $(wildcard authorized_keys.d/*)
	touch $@
	for f in $^; do \
	  echo "### from $$f:"; \
	  cat $$f; \
	  echo; \
	done > $@

SSH_VERSION = $(shell ssh -V 2>&1)
config: config.in
	cp $< $@
	case "$(SSH_VERSION)" in \
	  (OpenSSH_6.[0123]*) \
	    sed -ri -e 's,^.+\bCanonical.+$$,##UNSUPPORTED##&,' \
	            $@ \
	    ;; \
	  (OpenSSH_5.[012345]*) \
	    sed -ri -e 's,^.+\bControlPersist\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bCanonical.+$$,##UNSUPPORTED##&,' \
	            $@ \
	    ;; \
	  (OpenSSH_4.7*) \
	    sed -ri -e 's,^.+\bVisualHostKey\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bControlPersist\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bCanonical.+$$,##UNSUPPORTED##&,' \
	            $@ \
	    ;; \
	  (OpenSSH_4.3*) \
	    sed -ri -e 's,^.+\bExitOnForwardFailure\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bMACs\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^(.+ControlPath ~/.var/ssh/ssh_control_)%l_(.+),\1\2,' \
	            -e 's,^.+\bVisualHostKey\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bControlPersist\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bCanonical.+$$,##UNSUPPORTED##&,' \
	            $@ \
	    ;; \
	  (3.9*) \
	    sed -ri -e 's,^.+\bExitOnForwardFailure\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bMACs\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bHashKnownHosts\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bControl(Master|Path|Persist)\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \
	            -e 's,^.+\bCanonical.+$$,##UNSUPPORTED##&,' \
	            $@ \
	    ;; \
	esac