Pārlūkot izejas kodu

Merge branch 'master' into version/4

DarthSim 3 nedēļas atpakaļ
vecāks
revīzija
116c382bb0
2 mainītis faili ar 35 papildinājumiem un 2 dzēšanām
  1. 1 0
      .gitignore
  2. 34 2
      Makefile

+ 1 - 0
.gitignore

@@ -8,4 +8,5 @@ tmp/
 docker-base
 docs/sitemap.txt
 .env
+.imgproxyrc
 k6/*.json

+ 34 - 2
Makefile

@@ -1,6 +1,6 @@
 # imgproxy Makefile
 
-BINARY := imgproxy
+BINARY := ./imgproxy
 
 GOCMD := go
 GOBUILD := $(GOCMD) build
@@ -10,6 +10,7 @@ GOFMT := gofmt
 GOLINT := golangci-lint
 GOTESTSUM := gotestsum
 SRCDIR := ./cli
+RCFILE := ./.imgproxyrc
 BREW_PREFIX :=
 
 # Common environment setup for CGO builds
@@ -29,6 +30,19 @@ ifdef BREW_PREFIX
 	export CGO_LDFLAGS := $(CGO_LDFLAGS) -Wl,-no_warn_duplicate_libraries
 endif
 
+# Get build arguments
+ifeq (build,$(firstword $(MAKECMDGOALS)))
+	BUILD_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
+endif
+
+# Get run arguments
+ifeq (run,$(firstword $(MAKECMDGOALS)))
+	RUN_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
+endif
+ifeq (build-and-run,$(firstword $(MAKECMDGOALS)))
+	RUN_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
+endif
+
 # Default target
 .PHONY: all
 all: build
@@ -39,7 +53,7 @@ all: build
 #	make build -- -o output_name
 .PHONY: build
 build:
-	@$(GOBUILD) -o $(BINARY) $(filter-out $@,$(MAKECMDGOALS)) $(SRCDIR); \
+	@$(GOBUILD) -o $(BINARY) $(BUILD_ARGS) $(SRCDIR)
 
 # Clean
 .PHONY: clean
@@ -48,6 +62,24 @@ clean:
 	@$(GOCLEAN)
 	rm -f $(BINARY)
 
+# Run imgproxy binary
+#
+# Usage:
+#	make run -- arg1 arg2
+#
+# If .imgproxyrc exists, it will be sourced before running the binary.
+.PHONY: run
+run: SHELL := bash
+run:
+ifneq (,$(wildcard $(RCFILE)))
+	@source $(RCFILE) && $(BINARY) $(RUN_ARGS)
+else
+	@$(BINARY) $(RUN_ARGS)
+endif
+
+.PHONY: build-and-run
+build-and-run: build run
+
 # Run tests
 #
 # Usage: