-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
48 lines (42 loc) · 1.39 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
.PHONY: build build-pip install-hooks help
# Variables
ORPHANS_SCRIPT := find_orphans.sh
LINK_SCRIPT := link_generator.py
HOOKS_DIR := .lefthook/pre-commit
HOOKS_ORPHANS := $(HOOKS_DIR)/$(ORPHANS_SCRIPT)
HOOKS_LINKS := $(HOOKS_DIR)/$(LINK_SCRIPT)
# Default target
.DEFAULT_GOAL := help
# Help target - shows available commands
help:
@echo "Available commands:"
@echo " make build - Set up development environment using uv"
@echo " make build-pip - Set up development environment using pip"
# Main build targets
build:
@echo "Setting up development environment with uv..."
uv sync
$(MAKE) install-hooks
build-pip:
@echo "Setting up development environment with pip..."
pip install .
$(MAKE) install-hooks
# Hook installation
install-hooks:
@echo "Setting up git hooks..."
. .venv/bin/activate && lefthook add -d pre-commit
chmod +x $(ORPHANS_SCRIPT)
@if [ ! -f "$(HOOKS_ORPHANS)" ] || [ "$(ORPHANS_SCRIPT)" -nt "$(HOOKS_ORPHANS)" ]; then \
echo "Copying $(ORPHANS_SCRIPT) to hooks directory..."; \
cp $(ORPHANS_SCRIPT) $(HOOKS_DIR)/; \
else \
echo "$(HOOKS_ORPHANS) is up to date"; \
fi
chmod +x $(LINK_SCRIPT)
@if [ ! -f "$(HOOKS_ORPHANS)" ] || [ "$(LINK_SCRIPT)" -nt "$(HOOKS_LINKS)" ]; then \
echo "Copying $(LINK_SCRIPT) to hooks directory..."; \
cp $(LINK_SCRIPT) $(HOOKS_DIR)/; \
else \
echo "$(HOOKS_LINKS) is up to date"; \
fi
. .venv/bin/activate && lefthook install