This repository has been archived by the owner on Jul 20, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
241 lines (183 loc) · 3.94 KB
/
Makefile
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
#####################
# directory #
#####################
TOP_DIR := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
BIN_DIR = $(TOP_DIR)/bin
CONFIG_DIR = $(TOP_DIR)/config
MODULE_DIR = $(TOP_DIR)/modules
SOURCE_DIR = $(TOP_DIR)/src
TMP_DIR = $(TOP_DIR)/tmp
####################
# targets #
####################
# core
CORE_TARGETS +=
CORE_CLEAN_TARGETS +=
# bash
BASH_TARGETS +=
BASH_CLEAN_TARGETS +=
# fish
FISH_TARGETS +=
FISH_CLEAN_TARGETS +=
FISH_UPDATE_TARGETS +=
# nano
NANO_TARGETS +=
NANO_CLEAN_TARGETS +=
# textlint
TEXTLINT_TARGETS +=
TEXTLINT_CLEAN_TARGETS +=
# tmux
TMUX_TARGETS +=
TMUX_CLEAN_TARGETS +=
# nvim
NVIM_TARGETS +=
NVIM_CLEAN_TARGETS +=
# lem
LEM_TARGETS +=
LEM_CLEAN_TARGETS +=
LEM_UPDATE_TARGETS +=
# irb
IRB_TARGETS +=
IRB_CLEAN_TARGETS +=
IRB_UPDATE_TARGETS +=
# spacemacs
SPACEMACS_TARGETS +=
SPACEMACS_CLEAN_TARGETS +=
# doomemacs
DOOMEMACS_TARGETS +=
DOOMEMACS_CLEAN_TARGETS +=
# skk
SKK_TARGETS +=
SKK_CLEAN_TARGETS +=
# peco
PECO_TARGETS +=
PECO_CLEAN_TARGETS +=
# alacritty
ALACRITTY_TARGETS +=
ALACRITTY_CLEAN_TARGETS +=
# nyxt
NYXT_TARGETS +=
NYXT_CLEAN_TARGETS +=
# npm
NPM_UPDATE_TARGETS +=
# neofetch
NEOFETCH_TARGETS +=
NEOFETCH_CLEAN_TARGETS +=
# brewfile
BREWFILE_TARGETS +=
BREWFILE_CLEAN_TARGETS +=
# gnupg
GNUPG_TARGETS +=
GNUPG_CLEAN_TARGETS +=
# composer
COMPOSER_CLEAN_TARGETS +=
COMPOSER_TARGETS +=
COMPOSER_UPDATE_TARGETS +=
# cargo
CARGO_TARGETS +=
CARGO_CLEAN_TARGETS +=
# bottom
BOTTOM_TARGETS +=
BOTTOM_CLEAN_TARGETS +=
# yabai
YABAI_TARGETS +=
YABAI_CLEAN_TARGETS +=
# skhd
SKHD_TARGETS +=
SKHD_CLEAN_TARGETS +=
####################
# include #
####################
-include $(SOURCE_DIR)/make/*.mk
-include $(MODULE_DIR)/*/Makefile
########################
# all targets #
########################
# all
ALL_TARGETS +=
ALL_CLEAN_TARGETS +=
ALL_UPDATE_TARGETS +=
# core
ALL_TARGETS += CORE_TARGETS
ALL_CLEAN_TARGETS += CORE_CLEAN_TARGETS
# bash
ALL_TARGETS += BASH_TARGETS
ALL_CLEAN_TARGETS += BASH_CLEAN_TARGETS
# fish
ALL_TARGETS += FISH_TARGETS
ALL_CLEAN_TARGETS += FISH_CLEAN_TARGETS
ALL_UPDATE_TARGETS += FISH_UPDATE_TARGETS
# nano
ALL_TARGETS += NANO_TARGETS
ALL_CLEAN_TARGETS += NANO_CLEAN_TARGETS
# textlint
ALL_TARGETS += TEXTLINT_TARGETS
ALL_CLEAN_TARGETS += TEXTLINT_CLEAN_TARGETS
# tmux
ALL_TARGETS += TMUX_TARGETS
ALL_CLEAN_TARGETS += TMUX_CLEAN_TARGETS
# nvim
ALL_TARGETS += NVIM_TARGETS
ALL_CLEAN_TARGETS += NVIM_CLEAN_TARGETS
# lem
ALL_TARGETS += LEM_TARGETS
ALL_CLEAN_TARGETS += LEM_CLEAN_TARGETS
ALL_UPDATE_TARGETS += LEM_UPDATE_TARGETS
# irb
ALL_TARGETS += IRB_TARGETS
ALL_CLEAN_TARGETS += IRB_CLEAN_TARGETS
ALL_UPDATE_TARGETS += LEM_UPDATE_TARGETS
# spacemacs
ALL_TARGETS += SPACEMACS_TARGETS
ALL_CLEAN_TARGETS += SPACEMACS_CLEAN_TARGETS
# doomemacs
ALL_TARGETS += DOOMEMACS_TARGETS
ALL_CLEAN_TARGETS += DOOMEMACS_CLEAN_TARGETS
# skk
ALL_TARGETS += SKK_TARGETS
ALL_CLEAN_TARGETS += SKK_CLEAN_TARGETS
# peco
ALL_TARGETS += PECO_TARGETS
ALL_CLEAN_TARGETS += PECO_CLEAN_TARGETS
# alacritty
ALL_TARGETS += ALACRITTY_TARGETS
ALL_CLEAN_TARGETS += ALACRITTY_CLEAN_TARGETS
# nyxt
ALL_TARGETS += NYXT_TARGETS
ALL_CLEAN_TARGETS += NYXT_CLEAN_TARGETS
# npm
ALL_UPDATE_TARGETS += NPM_UPDATE_TARGETS
# neofetch
ALL_TARGETS += NEOFETCH_TARGETS
ALL_CLEAN_TARGETS += NEOFETCH_CLEAN_TARGETS
# gnupg
ALL_TARGETS += GNUPG_TARGETS
ALL_CLEAN_TARGETS += GNUPG_CLEAN_TARGETS
# cargo
ALL_TARGETS += CARGO_TARGETS
ALL_CLEAN_TARGETS += CARGO_CLEAN_TARGETS
# bottom
ALL_TARGETS += BOTTOM_TARGETS
ALL_CLEAN_TARGETS += BOTTOM_CLEAN_TARGETS
# yabai
ALL_TARGETS += YABAI_TARGETS
ALL_CLEAN_TARGETS += YABAI_CLEAN_TARGETS
# shkd
ALL_TARGETS += SKHD_TARGETS
ALL_CLEAN_TARGETS += SKHD_CLEAN_TARGETS
####################
# commands #
####################
# install
.PHONY: core
core: $(CORE_TARGETS)
.PHONY: all
all: $(ALL_TARGETS)
# clean
.PHONY: core-clean
core-clean: $(CORE_CLEAN_TARGETS)
.PHONY: clean
clean: $(ALL_CLEAN_TARGETS)
# update
.PHONY: update
update: $(ALL_UPDATE_TARGETS)