aboutsummaryrefslogtreecommitdiffstats
path: root/GNUmakefile
blob: 03da67e4bef25acff56dd38688054235c2fbda9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
include dotfiles.mk

MODULES=xmodmap emacs picom cower mowedline herbstluftwm xdg
STOW=stow

.PHONY: all clean $(MODULES) zsh

all: $(MODULES)

clean: $(addsuffix -clean,$(MODULES))

zsh:
	$(MAKE) -C $@

before-%-install:				# Dummy recipe
	@true

%-stow: % before-%-install
	$(STOW) $<

%-install: %-stow				# Dummy recipe
	@true

%-uninstall:
	$(STOW) -D $(subst -uninstall,,$@)

# Picom

picom: picom/.config/picom.conf

picom/.config/picom.conf: picom/.config/picom.org
	$(call tangle,conf)

picom-clean:
	rm -f picom/.config/picom.conf

#########
# Emacs #
#########

emacs-install: emacs-stow
	xdg-settings set default-url-scheme-handler org-protocol EmacsClient.desktop

###########
# Xmodmap #
###########

xmodmap: Xmodmap/.Xmodmap

Xmodmap/.Xmodmap: Xmodmap/Xmodmap.org
	$(call tangle,fundamental)

xmodmap-clean:
	rm -f Xmodmap/.Xmodmap

#########
# Cower #
#########

cower: cower/.config/cower/config

cower/.config/cower/config: cower/.config/cower/config.org
	$(call tangle,conf-unix)

cower-clean:
	rm -f cower/.config/cower/config

#############
# Mowedline #
#############

mowedline: mowedline/.config/mowedline/init.scm

mowedline/.config/mowedline/init.scm: SCHEME_IMPLEMENTATION = chicken
mowedline/.config/mowedline/init.scm: mowedline/.config/mowedline/init.org
	$(call tangle,scheme)

mowedline-clean:
	rm -f mowedline/.config/mowedline/init.scm

#########
# Dunst #
#########

dunst: dunst/.config/dunst/dunstrc

dunst/.config/dunst/dunstrc: dunst/.config/dunst/dunstrc.org
	$(call tangle,conf-unix)

dunst-clean:
	rm -f dunst/.config/dunst/dunstrc

# X11

x11-install: lib-install x11/dot-x11-0-1-any.pkg.tar.xz

x11/dot-x11-0-1-any.pkg.tar.xz: x11/PKGBUILD
	cd x11 && makepkg -sicf

#######
# XDG #
#######

xdg: xdg/.config/mimeapps.list xdg/.config/user-dirs.dirs \
     xdg/.config/user-dirs.locale

# Helper

%: %.org
	$(call tangle)