sudo != [ $$(id -u) = 0 ] || groups | grep -wo sudo screen != command -v screen socat != command -v socat apt = $(sudo) apt install = $(sudo) install ifeq (,$(screen)) prereqs += screen endif ifeq (,$(socat)) prereqs += socat endif .PHONY: install deps executables = read-tty write-tty read_chars.bash executables_sources = $(addprefix src/,$(executables)) install: deps $(install) -v -T -- src/twopane.bash /usr/local/bin/twopane $(install) -v -t /usr/local/bin -- $(executables_sources) deps: apt-install.stamp apt-install.stamp: Makefile ifneq (,$(prereqs)) $(apt) install --no-upgrade $(prereqs) endif touch $@