Made the makefiles more flexible

This commit is contained in:
Luxferre
2024-09-16 08:49:22 +03:00
parent 6bdce065dd
commit a5e7762406
3 changed files with 16 additions and 12 deletions
+7 -5
View File
@@ -6,27 +6,29 @@ CROSSPREFIX=x86_64-w64-mingw32
CROSSCC = $(CROSSPREFIX)-gcc CROSSCC = $(CROSSPREFIX)-gcc
CROSSCXX = $(CROSSPREFIX)-g++ CROSSCXX = $(CROSSPREFIX)-g++
GOBIN ?= go GOBIN ?= go
GOMODTIDY ?= $(GOBIN) mod tidy
MFLAGS = -C $(SRC) GOBIN="$(GOBIN)" GOMODTIDY="$(GOMODTIDY)"
.PHONY: all test clean .PHONY: all test clean
all: all:
$(MAKE) -C $(SRC) GOBIN=$(GOBIN) unix $(MAKE) $(MFLAGS) unix
$(MAKE) dist $(MAKE) dist
headless: headless:
$(MAKE) -C $(SRC) GOBIN=$(GOBIN) unix-headless $(MAKE) $(MFLAGS) unix-headless
$(MAKE) dist $(MAKE) dist
win64: win64:
$(MAKE) -C $(SRC) GOBIN=$(GOBIN) win64 $(MAKE) $(MFLAGS) win64
$(MAKE) dist $(MAKE) dist
win64-cross: win64-cross:
$(MAKE) -C $(SRC) GOBIN=$(GOBIN) CGO_ENABLED=1 CC=$(CROSSCC) CXX=$(CROSSCXX) win64 $(MAKE) $(MFLAGS) CGO_ENABLED=1 CC=$(CROSSCC) CXX=$(CROSSCXX) win64
$(MAKE) dist $(MAKE) dist
win64-headless: win64-headless:
$(MAKE) -C $(SRC) GOBIN=$(GOBIN) win64-headless $(MAKE) $(MFLAGS) win64-headless
$(MAKE) dist $(MAKE) dist
dist: dist:
+8 -7
View File
@@ -1,25 +1,26 @@
GOBIN ?= go GOBIN ?= go
LDFLAGS = -s -w GOMODTIDY ?= $(GOBIN) mod tidy
LDFLAGS_WIN = -H windowsgui -s -w LDFLAGS ?= -s -w
GOFLAGS = -trimpath LDFLAGS_WIN ?= -H windowsgui -s -w
GOFLAGS ?= -trimpath
SOURCES = server.go twitch.go youtube.go owncast.go kick.go SOURCES = server.go twitch.go youtube.go owncast.go kick.go
SOURCES_GUI = $(SOURCES) gui.go SOURCES_GUI = $(SOURCES) gui.go
BIN = streamgoose BIN = streamgoose
unix: unix:
$(GOBIN) mod tidy $(GOMODTIDY)
$(GOBIN) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BIN) $(SOURCES_GUI) $(GOBIN) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BIN) $(SOURCES_GUI)
unix-headless: unix-headless:
$(GOBIN) mod tidy $(GOMODTIDY)
$(GOBIN) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BIN) $(SOURCES) $(GOBIN) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BIN) $(SOURCES)
win64: win64:
$(GOBIN) mod tidy $(GOMODTIDY)
GOOS=windows GOARCH=amd64 $(GOBIN) build $(GOFLAGS) -ldflags "$(LDFLAGS_WIN)" -o $(BIN).exe $(SOURCES_GUI) GOOS=windows GOARCH=amd64 $(GOBIN) build $(GOFLAGS) -ldflags "$(LDFLAGS_WIN)" -o $(BIN).exe $(SOURCES_GUI)
win64-headless: win64-headless:
$(GOBIN) mod tidy $(GOMODTIDY)
GOOS=windows GOARCH=amd64 $(GOBIN) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BIN).exe $(SOURCES) GOOS=windows GOARCH=amd64 $(GOBIN) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BIN).exe $(SOURCES)
clean: clean:
+1
View File
@@ -1,3 +1,4 @@
// build +gui
/* /*
StreamGoose UI — Go reference implementation StreamGoose UI — Go reference implementation