target:
	@echo "Select target directory"
	@echo $$(find . -name bashly.yml | sed -e 's/.\///' -e 's/\/.*//' | $$DMENU) > .target

get-target:
	$(eval TARGET := $(shell cat .target))

output-dir:
	mkdir -p ./output

completions: get-target
	BASHLY_SOURCE_DIR=$(TARGET) bashly add completions

generate: get-target output-dir completions
	BASHLY_SOURCE_DIR=$(TARGET) bashly generate --upgrade

docs: generate
	BASHLY_SOURCE_DIR=$(TARGET) bashly render :mandoc ./output/man1

install: generate docs
	cp -f ./output/$(TARGET) ~/.local/bin/
	cp -f ./output/man1/$(TARGET)*.1 ~/.local/share/man/man1/