-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
54 lines (43 loc) · 1.54 KB
/
Makefile
File metadata and controls
54 lines (43 loc) · 1.54 KB
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
PREFIX ?= /usr/local
SHARE_DIR = $(PREFIX)/share/d20-cli
BIN_DIR = $(PREFIX)/bin
.PHONY: install uninstall check-install
install:
@echo "⚙️ Установка d20-cli..."
@mkdir -p $(SHARE_DIR)/lib
@install -v -m 755 bin/d20 $(SHARE_DIR)/
@install -v -m 644 lib/dice.sh $(SHARE_DIR)/lib/
@ln -svf $(SHARE_DIR)/d20 $(BIN_DIR)/d20
@echo "✅ Готово! Команда 'd20' установлена"
@make check-install
uninstall:
@echo "⚙️ Удаление d20-cli..."
@rm -vrf $(SHARE_DIR)
@rm -vf $(BIN_DIR)/d20
@echo "✅ d20-cli полностью удалён"
check-install:
@echo "\n🔍 Проверка установки:"
@echo -n "• Бинарный файл: "
@if [ -f "$(BIN_DIR)/d20" ]; then \
echo "✅ $(BIN_DIR)/d20"; \
else echo "❌ Не найден"; exit 1; fi
@echo -n "• Библиотека: "
@if [ -f "$(SHARE_DIR)/lib/dice.sh" ]; then \
echo "✅ $(SHARE_DIR)/lib/dice.sh"; \
else echo "❌ Не найдена"; exit 1; fi
@echo -n "• Симлинк: "
@if [ -L "$(BIN_DIR)/d20" ]; then \
echo "✅ ведёт на $(readlink -f $(BIN_DIR)/d20)"; \
else echo "❌ Не является симлинком"; exit 1; fi
@echo -n "• Права: "
@if [ -x "$(BIN_DIR)/d20" ]; then \
echo "✅ Исполняемый"; \
else echo "❌ Нет прав на выполнение"; exit 1; fi
@echo "🎉 Проверка завершена успешно"
all: install test
clean:
rm -f *.cast
find . -name "*.swp" -delete
test:
bats tests/test_dice.bats
./tests/integration_test.sh