Files
LazyPM/Makefile
2026-02-19 22:31:05 +01:00

89 lines
2.0 KiB
Makefile

SHELL := /bin/bash
tidy:
go mod tidy
clean:
@go clean
@rm -rf ./bin
@rm -rf ./.pm
@rm -rf node_modules
@rm package-lock.json
@rm package.json
build: tidy
go build -o ./bin/pm ./cmd/pm
go build -o ./bin/tui ./cmd/tui
go build -o ./bin/web ./cmd/web
go build -o ./bin/survey ./cmd/survey
enable-multiplatform-build:
@docker buildx create --name multiplatform --use 2>/dev/null || docker buildx use multiplatform
docker-build: enable-multiplatform-build
@docker buildx build \
--platform linux/amd64,linux/arm64,linux/arm/v7 \
-t telikz/lazypm:latest \
--push .
docker-run:
@docker run -it -p 8080:8080 -v "$PWD:/data" telikz/lazypm:latest start
docker-push:
@docker push telikz/lazypm:latest
start:
@go run ./cmd/survey start
cli: tidy
go run ./cmd/pm
tui: tidy
go run ./cmd/tui
web: tidy
go run ./cmd/web
tw-install:
@npm install tailwindcss@latest @tailwindcss/cli@latest @tailwindcss/typography daisyui@latest
# Run both dev and tw in parallel for generating templates and compiling Tailwind CSS on file changes
dev: tidy
@go tool templ generate -watch -cmd "go run ./cmd/web"
tw: tw-install
@npx --yes @tailwindcss/cli -i ./pkg/web/input.css -o ./pkg/web/assets/css/styles.css --watch --minify
completions:
@go build -o ./bin/pm ./cmd/pm
@mkdir -p ./bin
@./bin/pm completion bash > ./bin/pm_bash.sh
@./bin/pm completion zsh > ./bin/pm_zsh.sh
@./bin/pm completion fish > ./bin/pm_fish.sh
@./bin/pm completion powershell > ./bin/pm_powershell.ps1
install-bash-temp: completions
@go install ./cmd/pm
@source ./bin/pm_bash.sh
install-zsh-temp: completions
@go install ./cmd/pm
@source ./bin/pm_zsh.sh
install-fish-temp: completions
@go install ./cmd/pm
@source ./bin/pm_fish.sh
install-powershell-temp: completions
@go install ./cmd/pm
@source ./bin/pm_powershell.ps1
install-cli: completions
@go install ./cmd/pm
@sudo cp ./bin/pm_bash.sh /etc/bash_completion.d/pm
.PHONY: tidy clean build cli tui web dev tw completions install-bash-temp install-zsh-temp install-fish-temp install-powershell-temp install-cli