echo; \
done > $@
+ifeq ($(strip $(wildcard config.local)),)
+LOCAL_CONFIG=/dev/null
+else
+LOCAL_CONFIG=config.local
+endif
+
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
+config: $(LOCAL_CONFIG) config.in
+ cat $^ > $@
+ if ! ssh -P 2>&1 | grep -q 'option requires an argument'; then \
+ sed -i -e '/^Match tagged/,/^$$/d' $@; \
+ fi