mapserver/server/Makefile
2019-03-29 09:07:06 +01:00

51 lines
1.3 KiB
Makefile

STATIC_VFS=vfs/static.go
OUT_DIR=output
ENV=GO111MODULE=on
GO_LDFLAGS=-ldflags "-linkmode external -extldflags -static"
BINARIES = $(OUT_DIR)/mapserver-linux-x86_64
BINARIES += $(OUT_DIR)/mapserver-linux-x86
BINARIES += $(OUT_DIR)/mapserver-windows-x86.exe
BINARIES += $(OUT_DIR)/mapserver-windows-x86-64.exe
BINARIES += $(OUT_DIR)/mapserver-linux-arm
$(OUT_DIR):
mkdir $@
fmt:
go fmt ./...
test: $(OUT_DIR)
go generate
go build
$(ENV) go test ./...
clean:
rm -rf $(STATIC_VFS)
rm -rf $(OUT_DIR)
$(STATIC_VFS):
go generate
$(OUT_DIR)/mapserver-linux-x86_64: $(OUT_DIR)
# native (linux x86_64)
CGO_ENABLED=1 GOOS=linux GOARCH=amd64 CC=x86_64-linux-gnu-gcc go build $(GO_LDFLAGS) -o $@
$(OUT_DIR)/mapserver-linux-x86: $(OUT_DIR)
# apt install gcc-8-i686-linux-gnu
CGO_ENABLED=1 GOOS=linux GOARCH=386 CC=i686-linux-gnu-gcc-7 go build $(GO_LDFLAGS) -o $@
$(OUT_DIR)/mapserver-windows-x86.exe: $(OUT_DIR)
# apt install gcc-mingw-w64
GOARCH=386 GOOS=windows CC=i686-w64-mingw32-gcc CGO_ENABLED=1 go build -o $@
$(OUT_DIR)/mapserver-windows-x86-64.exe: $(OUT_DIR)
GOARCH=amd64 GOOS=windows CC=x86_64-w64-mingw32-gcc CGO_ENABLED=1 go build -o $@
$(OUT_DIR)/mapserver-linux-arm: $(OUT_DIR)
# apt install gcc-5-arm-linux-gnueabihf
GOARCH=arm GOARM=7 CC=arm-linux-gnueabihf-gcc-5 CGO_ENABLED=1 go build $(GO_LDFLAGS) -o $@
all: $(STATIC_VFS) $(BINARIES)