aboutsummaryrefslogtreecommitdiff
path: root/Makefile.m4
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.m4')
-rw-r--r--Makefile.m4116
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: