114 lines
3.0 KiB
Makefile
114 lines
3.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
|
|
@echo "Build completed successfully. Binaries are located in the ./bin directory."
|
|
|
|
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
|
|
|
|
os-build: build completions
|
|
@cp ./bin/pm ./build/pm
|
|
@cp ./bin/survey ./build/survey
|
|
@cp ./bin/survey_bash.sh ./build/survey_bash.sh
|
|
@cp ./bin/pm_bash.sh ./build/pm_bash.sh
|
|
@docker build -t telikz/lazyos ./build
|
|
@echo "Built lazyos image successfully. You can run it using 'make os-run'."
|
|
|
|
os-run: os-build
|
|
@docker run -d --name=lazyos -e PUID=1000 -e PGID=1000 -e TZ=Etc/UTC -p 3000:3000 -p 3001:3001 --shm-size="1gb" telikz/lazyos
|
|
@echo "Started lazyos container successfully. You can access the web interface at http://localhost:3000."
|
|
|
|
os-stop:
|
|
@docker stop lazyos
|
|
@docker rm -v --force lazyos
|
|
@echo "Stopped and removed lazyos container successfully."
|
|
|
|
os-push:
|
|
@docker push telikz/lazyos
|
|
|
|
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:
|
|
@mkdir -p ./bin
|
|
@go build -o ./bin/pm ./cmd/pm
|
|
@go build -o ./bin/survey ./cmd/survey
|
|
@./bin/survey completion bash > ./bin/survey_bash.sh
|
|
@./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
|
|
@go install ./cmd/survey
|
|
@sudo cp ./bin/pm_bash.sh /etc/bash_completion.d/pm
|
|
@sudo cp ./bin/survey_bash.sh /etc/bash_completion.d/survey
|
|
|
|
|
|
.PHONY: tidy clean build cli tui web dev tw completions install-bash-temp install-zsh-temp install-fish-temp install-powershell-temp install-cli
|