diff options
Diffstat (limited to 'Makefile.m4')
-rw-r--r-- | Makefile.m4 | 116 |
1 files changed, 62 insertions, 54 deletions
diff --git a/Makefile.m4 b/Makefile.m4 index 2646ded..aa913f8 100644 --- a/Makefile.m4 +++ b/Makefile.m4 @@ -1,14 +1,15 @@ -m4_include(`system.m4')m4_dnl +CONFIG_FILE := config M4 := m4 M4_OPTS := -P -M4_COMMON_DEPS = system.m4 -SRC_DIR := DOTFILES_DIR -HOME_DIR := HOME_DIRECTORY +M4_SYSFILE := system.m4 +M4_COMMON_DEPS = $(M4_SYSFILE) +SRC_DIR := DT_DOTFILES_DIR +HOME_DIR := DT_HOME_DIRECTORY .PHONY: install_packages update_packages define M4_EXEC - ${M4} ${M4_OPTS} $< > $@ + echo "`m4_include'(\``system.m4'')`m4_dnl'" | cat - $< | ${M4} ${M4_OPTS} > $@ endef define create_symlink @@ -25,30 +26,37 @@ define create_dotfile_symlink $(call create_symlink,${SRC_DIR}/$(1),${HOME_DIR}/$(2)) endef -all: install_packages m4_dnl -m4_ifdef(`DT_OTHER_SYMLINKS', `$(HOME_DIR)/.vimrc') m4_dnl -m4_ifdef(`DT_OTHER_SYMLINKS', `$(HOME_DIR)/.vim') m4_dnl -m4_ifdef(`DT_OTHER_SYMLINKS', `$(HOME_DIR)/.config/rofi') m4_dnl -m4_ifdef(`DT_OTHER_SYMLINKS', `$(HOME_DIR)/.config/deadd') m4_dnl -m4_ifdef(`DT_OTHER_SYMLINKS', `$(HOME_DIR)/.config/waybar') m4_dnl -m4_ifdef(`DT_OTHER_SYMLINKS', `$(HOME_DIR)/.config/foot') m4_dnl -m4_ifdef(`DT_OTHER_SYMLINKS', `$(HOME_DIR)/.config/alacritty') m4_dnl -m4_ifdef(`DT_OTHER_SYMLINKS', `$(HOME_DIR)/.config/powerline') m4_dnl -m4_ifdef(`DT_OTHER_SYMLINKS', `$(HOME_DIR)/.config/sxhkd') m4_dnl -m4_ifdef(`DT_OTHER_SYMLINKS', `$(HOME_DIR)/.config/bspwm') m4_dnl -m4_ifdef(`DT_HOMEBIN', `$(HOME_DIR)/bin') m4_dnl -m4_ifdef(`DT_ZSH', `$(HOME_DIR)/.zshrc') m4_dnl -m4_ifdef(`DT_ZSH', `$(HOME_DIR)/.p10k.zsh') m4_dnl -m4_ifdef(`DT_BASH', `$(HOME_DIR)/.bashrc') m4_dnl -m4_ifdef(`DT_TMUX', `$(HOME_DIR)/.tmux.conf') m4_dnl -m4_ifdef(`DT_QTILE', `$(HOME_DIR)/.config/qtile/config.py') m4_dnl -m4_ifdef(`DT_SWAY', `$(HOME_DIR)/.config/sway/config') m4_dnl -m4_ifdef(`DT_SWAY', `$(HOME_DIR)/.config/sway/hid') m4_dnl -m4_ifdef(`DT_SWAY', `$(HOME_DIR)/.config/sway/autostart') m4_dnl -m4_ifdef(`DT_NEOVIM', `$(HOME_DIR)/.config/nvim') m4_dnl - - -m4_ifdef(`DT_OTHER_SYMLINKS', `m4_dnl +all: system.m4 install_packages m4_dnl +m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.vimrc') m4_dnl +m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.vim') m4_dnl +m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/rofi') m4_dnl +m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/deadd') m4_dnl +m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/waybar') m4_dnl +m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/foot') m4_dnl +m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/alacritty') m4_dnl +m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/powerline') m4_dnl +m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/sxhkd') m4_dnl +m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/bspwm') m4_dnl +m4_ifelse(DT_HOMEBIN, `yes', `$(HOME_DIR)/bin') m4_dnl +m4_ifelse(DT_ZSH, `yes', `$(HOME_DIR)/.zshrc') m4_dnl +m4_ifelse(DT_ZSH, `yes', `$(HOME_DIR)/.p10k.zsh') m4_dnl +m4_ifelse(DT_BASH, `yes', `$(HOME_DIR)/.bashrc') m4_dnl +m4_ifelse(DT_TMUX, `yes', `$(HOME_DIR)/.tmux.conf') m4_dnl +m4_ifelse(DT_QTILE, `yes', `$(HOME_DIR)/.config/qtile/config.py') m4_dnl +m4_ifelse(DT_SWAY, `yes', `$(HOME_DIR)/.config/sway/config') m4_dnl +m4_ifelse(DT_SWAY, `yes', `$(HOME_DIR)/.config/sway/hid') m4_dnl +m4_ifelse(DT_SWAY, `yes', `$(HOME_DIR)/.config/sway/autostart') m4_dnl +m4_ifelse(DT_NEOVIM, `yes', `$(HOME_DIR)/.config/nvim') m4_dnl + + +$(M4_SYSFILE): $(CONFIG_FILE) + @echo "Generating $(M4_SYSFILE) from $(CONFIG_FILE)" + @> $(M4_SYSFILE) + @while IFS='=' read -r key value; do \ + echo "`m4_define'(\``$$key'', \``$$value'')`m4_dnl'" >> $(M4_SYSFILE); \ + done < $(CONFIG_FILE) + +m4_ifelse(DT_OTHER_SYMLINKS, `yes', `m4_dnl $(HOME_DIR)/.vimrc: Common/vimrc $(call create_dotfile_symlink,Common/vimrc,.vimrc) @@ -78,23 +86,23 @@ $(HOME_DIR)/.config/sxhkd: linux/sxhkd $(HOME_DIR)/.config/bspwm: linux/bspwm $(call create_dotfile_symlink,linux/bspwm,.config/bspwm) -') -m4_ifdef(`DT_HOMEBIN', `m4_dnl +')m4_dnl +m4_ifelse(DT_HOMEBIN, `yes', `m4_dnl $(HOME_DIR)/bin: bin $(call create_dotfile_symlink,bin,bin) -') -m4_ifdef(`DT_BASH', `m4_dnl +')m4_dnl +m4_ifelse(DT_BASH, `yes', `m4_dnl Common/bashrc: Common/bashrc.m4 \ ${M4_COMMON_DEPS} $(call M4_EXEC) $(HOME_DIR)/.bashrc: Common/bashrc $(call create_dotfile_symlink,Common/bashrc,.bashrc) -') -m4_ifdef(`DT_ZSH', `m4_dnl +')m4_dnl +m4_ifelse(DT_ZSH, `yes', `m4_dnl Common/zshrc: Common/zshrc.m4 \ ${M4_COMMON_DEPS} $(call M4_EXEC) @@ -102,13 +110,13 @@ Common/zshrc: Common/zshrc.m4 \ $(HOME_DIR)/.zshrc: Common/zshrc $(call create_dotfile_symlink,Common/zshrc,.zshrc) -m4_ifdef(`DT_ZSH', `m4_dnl +m4_ifelse(DT_ZSH, `yes', `m4_dnl $(HOME_DIR)/.p10k.zsh: Common/vim $(call create_dotfile_symlink,Common/p10k.zsh,.p10k.zsh) -') -') -m4_ifdef(`DT_TMUX', `m4_dnl +')m4_dnl +')m4_dnl +m4_ifelse(DT_TMUX, `yes', `m4_dnl linux/tmux.conf: linux/tmux.conf.m4 \ ${M4_COMMON_DEPS} $(call M4_EXEC) @@ -116,9 +124,9 @@ linux/tmux.conf: linux/tmux.conf.m4 \ $(HOME_DIR)/.tmux.conf: linux/tmux.conf $(call create_dotfile_symlink,linux/tmux.conf,.tmux.conf) -') -m4_ifdef(`DT_SWAY', `m4_dnl +')m4_dnl +m4_ifelse(DT_SWAY, `yes', `m4_dnl linux/sway/%: linux/sway/%.m4 \ ${M4_COMMON_DEPS} $(call M4_EXEC) @@ -127,8 +135,7 @@ $(HOME_DIR)/.config/sway/%: linux/sway/config linux/sway/hid linux/sway/autostar $(call create_symlink,${SRC_DIR}/linux/sway,$(HOME_DIR)/.config/sway) ')m4_dnl - -m4_ifdef(`DT_QTILE', `m4_dnl +m4_ifelse(DT_QTILE, `yes', `m4_dnl linux/qtile/config/config.py: linux/qtile/config/config.py.m4 \ linux/qtile/config/screen.m4.py \ linux/qtile/config/group.m4.py \ @@ -141,9 +148,9 @@ $(HOME_DIR)/.config/qtile/config.py: linux/qtile/config/config.py $(call create_symlink,$(SRC_DIR)/linux/qtile/config/,$(HOME_DIR)/.config/qtile/) sudo cp linux/qtile/qtile.desktop /usr/share/xsessions/qtile.desktop sudo cp linux/qtile/qtile-wayland.desktop /usr/share/wayland-sessions/qtile-wayland.desktop -')m4_dnl -m4_ifdef(`DT_NEOVIM', `m4_dnl +')m4_dnl +m4_ifelse(DT_NEOVIM, `yes', `m4_dnl /usr/local/bin/nvim: git clone https://github.com/neovim/neovim /tmp/neovim git -C /tmp/neovim checkout tags/v0.9.5 @@ -151,20 +158,21 @@ m4_ifdef(`DT_NEOVIM', `m4_dnl $(HOME_DIR)/.config/nvim/: /usr/local/bin/nvim $(call create_symlink,$(SRC_DIR)/Common/nvim,$(HOME_DIR)/.config/nvim) + ')m4_dnl -# Genereal package manager stuff -m4_ifelse(DISTRO, `debian', m4_dnl +# General package manager stuff +m4_ifelse(DT_DISTRO, `debian', m4_dnl DPKG_DEPENDENCIES := m4_dnl -m4_ifdef(`DT_TOOLS', `highlight atool w3m mediainfo curl zsh vim git python3-pip zsh tmux nodejs catimg ripgrep silversearcher-ag',) m4_dnl -m4_ifdef(`DT_GREETD_TUIGREET', `greetd',) m4_dnl -m4_ifdef(`DT_TLP', `tlp',) m4_dnl +m4_ifelse(DT_TOOLS, `yes', `highlight atool w3m mediainfo curl zsh vim git python3-pip zsh tmux nodejs catimg ripgrep silversearcher-ag',) m4_dnl +m4_ifelse(DT_GREETD_TUIGREET', `yes', `greetd',) m4_dnl +m4_ifelse(DT_TLP, `yes', `tlp',) m4_dnl m4_dnl -m4_ifdef(`DT_SWAY', `sway swayidle physlock alacritty blueman network-manager-gnome wob wlogout wofi brightnessctl clipman xwayland seahorse fcitx5',) m4_dnl +m4_ifelse(DT_SWAY, `yes', `sway swayidle physlock alacritty blueman network-manager-gnome wob wlogout wofi brightnessctl clipman xwayland seahorse fcitx5',) m4_dnl m4_dnl -m4_ifdef(`DT_QTILE', `python3-cffi python3-cairocffi pango pango-devel python3-dbus-next',) m4_dnl qtile core -m4_ifdef(`DT_QTILE', `python3_xcffib xsecurelock',) m4_dnl qtile x11 -m4_ifdef(`DT_QTILE', `wlroots python3-wlroots python3-pywayland python3-xkbcommon xwayland',) m4_dnl qtile wayland +m4_ifelse(DT_QTILE, `yes', `python3-cffi python3-cairocffi pango pango-devel python3-dbus-next',) m4_dnl qtile core +m4_ifelse(DT_QTILE, `yes', `python3_xcffib xsecurelock',) m4_dnl qtile x11 +m4_ifelse(DT_QTILE, `yes', `wlroots python3-wlroots python3-pywayland python3-xkbcommon xwayland',) m4_dnl qtile wayland install_packages: |