Files
StreamGoose/Makefile
T

72 lines
1.7 KiB
Makefile

# 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 $(TCLDIR)/conf.tcl
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 $(TCLDIR)/conf.tcl
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 $(TCLDIR)/conf.tcl
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)