Implement a mini dependency management system
[khome.git] / Makefile
index 9140664..5c490ba 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,32 +1,29 @@
 MAKEFLAGS := --no-builtin-rules
 
-DPKG_SELECTIONS := system/debian/dpkg-selections
-APT_SOURCES     := system/debian/apt-sources.list
+.PHONY: home pkgs_install pkgs_purge pkgs deps
 
-.PHONY: update install install_packages
-
-install:
-       @cp  -Rp  home/bin          $(HOME)/
-       @cp  -Rp  home/lib          $(HOME)/
+home:
+       @cp  -Rp  home/bin           $(HOME)/
+       @cp  -Rp  home/lib           $(HOME)/
        @cp       home/.compton.conf $(HOME)/
-       @cp  -Rp  home/.config/     $(HOME)/
-       @cp       home/.profile     $(HOME)/
-       @cp       home/.fonts.conf  $(HOME)/
-       @fc-cache                   $(HOME)/.fonts
-       @cp       home/.Rprofile    $(HOME)/
-       @cp       home/.mpdconf     $(HOME)/
-       @cp       home/.tmux.conf   $(HOME)/
-       @cp       home/.xbindkeysrc $(HOME)/
+       @cp  -Rp  home/.config/      $(HOME)/
+       @cp       home/.profile      $(HOME)/
+       @cp       home/.fonts.conf   $(HOME)/
+       @fc-cache                    $(HOME)/.fonts
+       @cp       home/.Rprofile     $(HOME)/
+       @cp       home/.mpdconf      $(HOME)/
+       @cp       home/.tmux.conf    $(HOME)/
+       @cp       home/.xbindkeysrc  $(HOME)/
+
+pkgs:
+       $(MAKE) pkgs_install
+       $(MAKE) pkgs_purge
+
+pkgs_install: list pkgs-install
+       sudo apt install $(shell ./list pkgs-install)
 
-# May still need to run:
-# 1. dselect update
-# 2. interactive dselect with install,
-# 3. apt update
-# 4. apt upgrade
-install_packages: $(DPKG_SELECTIONS)
-       @dpkg --set-selections < $<
-       @apt-get -u dselect-upgrade
+pkgs_purge: list pkgs-purge
+       sudo apt purge $(shell ./list pkgs-purge)
 
-update:
-       @dpkg --get-selections > $(DPKG_SELECTIONS)
-       @cp /etc/apt/sources.list $(APT_SOURCES)
+deps:
+       @$(foreach d,$(wildcard deps/*),cd $(d) && make)
This page took 0.026587 seconds and 4 git commands to generate.