1
0
forked from extern/nix-config
donovanglover-nix-config/Makefile
Donovan Glover aa155f19ca
Refactor Makefile
Since all three stow commands depend on the same options, I made the
NS_STOW_OPTIONS variable to update all the commands at once.
2018-10-15 21:37:18 -04:00

26 lines
740 B
Makefile

# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2018 Donovan Glover
#
# Usage:
# make Defaults to `make install`
# make install Installs dotfiles
# make uninstall Uninstalls dotfiles
# make prune Removes stale links
NS_REPO_PATH := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
NS_REPO_DIR := $(shell basename $(NS_REPO_PATH))
NS_PARENT_PATH := $(shell dirname $(NS_REPO_PATH))
NS_STOW_OPTIONS := "${NS_REPO_DIR}" --dir="${NS_PARENT_PATH}" --target="${HOME}" --no-folding --verbose=2
.PHONY: install
install:
stow -S ${NS_STOW_OPTIONS}
.PHONY: uninstall
uninstall:
stow -D ${NS_STOW_OPTIONS}
.PHONY: prune
prune:
stow -R ${NS_STOW_OPTIONS}