-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
73 lines (55 loc) · 2.28 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
# =======================================================================================
# M A K E S E T T I N G S
.DEFAULT_GOAL := help
SHELL := /bin/bash
NAME := DOTFILES
# =======================================================================================
# H E L P E R V A R I A B L E S
BOLD := $(shell tput bold)
RED := $(shell tput setaf 1)
GREEN := $(shell tput setaf 2)
YELLOW := $(shell tput setaf 3)
BLUE := $(shell tput setaf 4)
RESET := $(shell tput sgr0)
BOLD_NAME := $(BOLD)$(NAME)$(RESET)
TASK := [ $(BOLD)$(GREEN)>>$(RESET) ]
OK := [ $(BOLD)$(GREEN)OK$(RESET) ]
ASK := [ $(BOLD)$(BLUE)??$(RESET) ]
WARNING := [ $(BOLD)$(YELLOW)!!$(RESET) ]
ERROR := [$(BOLD)$(RED)FAIL$(RESET)]
# =======================================================================================
# H E L P C O M M A N D
.PHONY: help
help:
@echo ""
@echo "$(BOLD)$(BLUE)===================================================================$(RESET)"
@echo " $(BOLD)$(GREEN).o0 $(BLUE)~$(RESET) $(BOLD_NAME) make interface $(BOLD)$(BLUE)~ $(GREEN)0o.$(RESET)"
@echo "$(BOLD)$(BLUE)===================================================================$(RESET)"
@echo ""
@echo " $(BOLD)$(BLUE)help$(RESET) Prints out this help message."
@echo ""
@echo " $(BOLD)$(GREEN)all$(RESET) Performs all commands at once."
@echo ""
@echo " $(BOLD)$(YELLOW)install$(RESET) Installs the dependencies."
@echo " $(BOLD)$(YELLOW)install-custom$(RESET) Executes the custom dependency installations."
@echo " $(BOLD)$(YELLOW)deploy$(RESET) Deploys the configuration files."
@echo ""
@echo "$(BOLD)$(BLUE)===================================================================$(RESET)"
# =======================================================================================
# D E P L O Y M E N T C O M M A N D S
.PHONY: install
install:
@./utils/install-scripts.bash
@./utils/install-configs.bash
.PHONY: install-scripts
install-scripts:
@./utils/install-scripts.bash
include ./utils/Makefile.targets
.PHONY: generate-targets
generate-targets:
@./utils/generate-targets.bash
# =======================================================================================
# T E S T C O M M A N D
.PHONY: test
test:
@./tests/run.bash