diff options
author | Mattias Andrée <maandree@kth.se> | 2024-06-16 23:14:25 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2024-06-16 23:14:25 +0200 |
commit | e0ca6ce462fd471edf017a541a160895bb762362 (patch) | |
tree | 78ec02202ff902dffada0d598359e67e3f3dbc19 /Makefile | |
parent | do not use -- with stty; although stty(1posix) says -- shall behave as normal, it does not in the GNU implementation, and stty(1posix) specifically... (diff) | |
parent | Merge branch 'master' of ssh://maandree.se/gitrepos/~maandree/dotfiles (diff) | |
download | dotfiles-e0ca6ce462fd471edf017a541a160895bb762362.tar.gz dotfiles-e0ca6ce462fd471edf017a541a160895bb762362.tar.bz2 dotfiles-e0ca6ce462fd471edf017a541a160895bb762362.tar.xz |
Merge branch 'master' of ssh://maandree.se/gitrepos/~maandree/dotfiles
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 29 |
1 files changed, 27 insertions, 2 deletions
@@ -1,13 +1,15 @@ .POSIX: -update: +update: update-common update-private update-work + +update-common: +@for PKGDIR in *; do \ if test -d "$${PKGDIR}"; then \ PKG="$$(printf '%s@\n' "$${PKGDIR}" | cut -d @ -f 1)"; \ HOST="$$(printf '%s@\n' "$${PKGDIR}" | cut -d @ -f 2 | tr A-Z a-z)"; \ if test -z "$${HOST}" || test "$${HOST}" = "$$(hostname | tr A-Z a-z)"; then \ if ./check-installed "$${PKG}" 2>/dev/null; then \ - if ! ./check-installed "$$(readlink -- "$${PKG}")" 2>/dev/null; then \ + if ! ./check-installed "$$(readlink -- "$${PKGDIR}")" 2>/dev/null; then \ printf -- '\033[1mcd %s && %s install\033[m\n' "$${PKGDIR}" '$(MAKE)'; \ (cd -- "$${PKGDIR}" && $(MAKE) install); \ fi; \ @@ -18,9 +20,32 @@ update: fi; \ fi; \ done + +update-private: +if test -f .private/pkgs/Makefile || test -f .private/pkgs/makefile; then \ cd -- .private/pkgs && $(MAKE); \ fi + +update-work: +if test -f .work/pkgs/Makefile || test -f .work/pkgs/makefile; then \ cd -- .work/pkgs && $(MAKE); \ fi + +.DEFAULT: + +@for PKGDIR in $@; do \ + if test -d "$${PKGDIR}"; then \ + PKG="$$(printf '%s@\n' "$${PKGDIR}" | cut -d @ -f 1)"; \ + HOST="$$(printf '%s@\n' "$${PKGDIR}" | cut -d @ -f 2 | tr A-Z a-z)"; \ + if test -z "$${HOST}" || test "$${HOST}" = "$$(hostname | tr A-Z a-z)"; then \ + if ./check-installed "$${PKG}" 2>/dev/null; then \ + if ! ./check-installed "$$(readlink -- "$${PKGDIR}")" 2>/dev/null; then \ + printf -- '\033[1mcd %s && %s install\033[m\n' "$${PKGDIR}" '$(MAKE)'; \ + (cd -- "$${PKGDIR}" && $(MAKE) install); \ + fi; \ + else\ + printf -- '\033[1mcd %s && %s uninstall\033[m\n' "$${PKGDIR}" '$(MAKE)'; \ + (cd -- "$${PKGDIR}" && $(MAKE) uninstall || :); \ + fi; \ + fi; \ + fi; \ + done |