# main StreamGoose build flow SRC = src DIST = out CONFIGBINNAME = streamgoose-config TCLDIR = tcldep CROSSPREFIX=x86_64-w64-mingw32 CROSSCC = $(CROSSPREFIX)-gcc CROSSCXX = $(CROSSPREFIX)-g++ GOBIN ?= go GOMODTIDY ?= $(GOBIN) mod tidy MFLAGS = -C $(SRC) GOBIN="$(GOBIN)" GOMODTIDY="$(GOMODTIDY)" .PHONY: all test clean all: $(MAKE) $(MFLAGS) unix $(MAKE) dist headless: $(MAKE) $(MFLAGS) unix-headless $(MAKE) dist win64: $(MAKE) $(MFLAGS) win64 $(MAKE) dist win64-cross: $(MAKE) $(MFLAGS) CGO_ENABLED=1 CC=$(CROSSCC) CXX=$(CROSSCXX) win64 $(MAKE) dist win64-headless: $(MAKE) $(MFLAGS) win64-headless $(MAKE) dist config-linux: cp $(SRC)/conf.tcl $(TCLDIR)/conf.tcl cp $(TCLDIR)/tclkit-linux64 $(TCLDIR)/tclruntime cd $(TCLDIR) && ./tclkit-linux64 ./sdx.kit qwrap conf.tcl -runtime tclruntime mkdir -p $(DIST) mv $(TCLDIR)/conf $(DIST)/$(CONFIGBINNAME) rm $(TCLDIR)/tclruntime config-win64: cp $(SRC)/conf.tcl $(TCLDIR)/conf.tcl cp $(TCLDIR)/tclkit-win64.exe $(TCLDIR)/tclruntime.exe cd $(TCLDIR) && ./tclkit-win64.exe ./sdx.kit qwrap conf.tcl -runtime tclruntime.exe mkdir -p $(DIST) mv $(TCLDIR)/conf $(DIST)/$(CONFIGBINNAME).exe rm $(TCLDIR)/tclruntime.exe config-win64-cross: cp $(SRC)/conf.tcl $(TCLDIR)/conf.tcl cp $(TCLDIR)/tclkit-win64.exe $(TCLDIR)/tclruntime.exe cd $(TCLDIR) && ./tclkit-linux64 ./sdx.kit qwrap conf.tcl -runtime tclruntime.exe mkdir -p $(DIST) mv $(TCLDIR)/conf $(DIST)/$(CONFIGBINNAME).exe rm $(TCLDIR)/tclruntime.exe dist: mkdir -p $(DIST) mv $(SRC)/streamgoose* $(DIST)/ cp -r webroot $(DIST)/ cp -r auth $(DIST)/ cp -r external $(DIST)/ cp config.json $(DIST)/ cp labels.ini $(DIST)/ clean: rm -rf $(DIST)