mirror of
https://github.com/DNSCrypt/dnscrypt-proxy.git
synced 2026-10-12 02:01:53 +00:00
93 lines
2.3 KiB
Makefile
93 lines
2.3 KiB
Makefile
GO = go
|
|
GOFLAGS =
|
|
LDFLAGS = -s -w
|
|
TAGS =
|
|
PKG = ./...
|
|
SRCDIR = dnscrypt-proxy
|
|
BIN = dnscrypt-proxy
|
|
PREFIX = /usr/local
|
|
BINDIR = $(PREFIX)/bin
|
|
INSTALL = install
|
|
|
|
.PHONY: all build install uninstall test test-short test-race test-suite \
|
|
bench fmt vet tidy vendor staticcheck lint clean distclean run \
|
|
version help
|
|
|
|
all: build
|
|
|
|
help:
|
|
@echo "Available targets:"
|
|
@echo " build Build the $(BIN) binary"
|
|
@echo " install Install $(BIN) to \$$PREFIX/bin (default /usr/local/bin)"
|
|
@echo " uninstall Remove the installed binary"
|
|
@echo " test Run the full test suite"
|
|
@echo " test-short Run tests with -short"
|
|
@echo " test-race Run tests with the race detector"
|
|
@echo " test-suite Run the categorized test script (run_tests.sh)"
|
|
@echo " bench Run benchmarks"
|
|
@echo " fmt Format the code with gofmt"
|
|
@echo " vet Run go vet"
|
|
@echo " staticcheck Run staticcheck (must be installed)"
|
|
@echo " lint Run fmt, vet and staticcheck"
|
|
@echo " tidy Run go mod tidy"
|
|
@echo " vendor Refresh the vendor directory"
|
|
@echo " run Build and run the binary in place"
|
|
@echo " version Print the application version"
|
|
@echo " clean Remove build artifacts"
|
|
@echo " distclean clean + remove the vendor directory"
|
|
|
|
build:
|
|
cd $(SRCDIR) && $(GO) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -tags "$(TAGS)" -o $(BIN) .
|
|
|
|
install: build
|
|
$(INSTALL) -d $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) -m 0755 $(SRCDIR)/$(BIN) $(DESTDIR)$(BINDIR)/$(BIN)
|
|
|
|
uninstall:
|
|
rm -f $(DESTDIR)$(BINDIR)/$(BIN)
|
|
|
|
test:
|
|
cd $(SRCDIR) && $(GO) test $(GOFLAGS) -tags "$(TAGS)" $(PKG)
|
|
|
|
test-short:
|
|
cd $(SRCDIR) && $(GO) test $(GOFLAGS) -short -tags "$(TAGS)" $(PKG)
|
|
|
|
test-race:
|
|
cd $(SRCDIR) && $(GO) test $(GOFLAGS) -race -tags "$(TAGS)" $(PKG)
|
|
|
|
test-suite:
|
|
cd $(SRCDIR) && sh ./run_tests.sh
|
|
|
|
bench:
|
|
cd $(SRCDIR) && $(GO) test $(GOFLAGS) -run=^$$ -bench=. -benchmem $(PKG)
|
|
|
|
fmt:
|
|
$(GO) fmt ./...
|
|
|
|
vet:
|
|
cd $(SRCDIR) && $(GO) vet $(PKG)
|
|
|
|
staticcheck:
|
|
cd $(SRCDIR) && staticcheck $(PKG)
|
|
|
|
lint: fmt vet staticcheck
|
|
|
|
tidy:
|
|
$(GO) mod tidy
|
|
|
|
vendor:
|
|
$(GO) mod vendor
|
|
|
|
run: build
|
|
cd $(SRCDIR) && ./$(BIN)
|
|
|
|
version: build
|
|
@$(SRCDIR)/$(BIN) -version
|
|
|
|
clean:
|
|
rm -f $(SRCDIR)/$(BIN)
|
|
cd $(SRCDIR) && $(GO) clean $(PKG)
|
|
|
|
distclean: clean
|
|
rm -rf vendor
|