72 lines
1.7 KiB
Makefile
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
|
|
|
|
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)
|
|
|