Makefile: parse target
This commit is contained in:
parent
064d0111a0
commit
4fb829af7e
24
Makefile
24
Makefile
|
@ -2,6 +2,30 @@ ifndef system
|
||||||
$(error unbound variable: system)
|
$(error unbound variable: system)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# target = [target_user@]target_host[:target_port][/target_path]
|
||||||
|
ifdef target
|
||||||
|
_target_user != echo $(target) | sed -n 's/@.*//p'
|
||||||
|
_target_path != echo $(target) | sed -n 's/^[^/]*//p'
|
||||||
|
_target_port != echo $(target) | sed -En 's|^.*:([^/]*)(/.*)?$$|\1|p'
|
||||||
|
_target_host != echo $(target) | sed -En 's/^(.*@)?([^:/]*).*/\2/p'
|
||||||
|
ifneq ($(_target_host),)
|
||||||
|
$(if $(target_host),$(error cannot define both, target_host and host in target))
|
||||||
|
target_host ?= $(_target_host)
|
||||||
|
endif
|
||||||
|
ifneq ($(_target_user),)
|
||||||
|
$(if $(target_user),$(error cannot define both, target_user and user in target))
|
||||||
|
target_user ?= $(_target_user)
|
||||||
|
endif
|
||||||
|
ifneq ($(_target_port),)
|
||||||
|
$(if $(target_port),$(error cannot define both, target_port and port in target))
|
||||||
|
target_port ?= $(_target_port)
|
||||||
|
endif
|
||||||
|
ifneq ($(_target_path),)
|
||||||
|
$(if $(target_path),$(error cannot define both, target_path and path in target))
|
||||||
|
target_path ?= $(_target_path)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
export target_host ?= $(system)
|
export target_host ?= $(system)
|
||||||
export target_user ?= root
|
export target_user ?= root
|
||||||
export target_port ?= 22
|
export target_port ?= 22
|
||||||
|
|
Loading…
Reference in a new issue