summaryrefslogtreecommitdiff
path: root/Makefile
blob: 71702ff2ba5c4139f61559a44b4255a906da0bba (plain)
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
CERT_DIR=certs
CERT_FILE=$(CERT_DIR)/localhost.pem
KEY_FILE=$(CERT_DIR)/localhost-key.pem
BINARY=bin/rpserver
SRC=cmd/rpserver/main.go

.PHONY: all cert build run clean ensure-deps

all: ensure-deps cert build run

# Ensure mkcert and nss are installed
ensure-deps:
	@echo "Checking mkcert and NSS dependencies..."
	@if ! command -v mkcert > /dev/null; then \
		echo "mkcert not found. Installing..."; \
		if command -v brew > /dev/null; then \
			brew install mkcert nss; \
		elif command -v apt > /dev/null; then \
			sudo apt update && sudo apt install -y mkcert libnss3-tools; \
		else \
			echo "Unsupported OS or missing package manager. Please install mkcert and nss manually."; exit 1; \
		fi \
	fi
	@mkcert -install

cert: ensure-deps
	mkdir -p $(CERT_DIR)
	mkcert -cert-file $(CERT_FILE) -key-file $(KEY_FILE) localhost

build: $(BINARY)
	chmod +x $(BINARY)

$(BINARY): $(SRC)
	go build -o $(BINARY) $(SRC)

run:
	$(BINARY) --cert $(CERT_FILE) --key $(KEY_FILE)

clean:
	rm -rf $(CERT_DIR) $(BINARY)