ソースを参照

Early multi-architecture support

jamesread 5 年 前
コミット
fa7bb7c67f
2 ファイル変更45 行追加4 行削除
  1. 3 0
      .gitignore
  2. 42 4
      Makefile

+ 3 - 0
.gitignore

@@ -5,4 +5,7 @@ webui/node_modules
 gen/
 go.sum
 OliveTin
+OliveTin.armhf
+OliveTin.exe
 reports
+releases/

+ 42 - 4
Makefile

@@ -1,7 +1,15 @@
-compile: daemon-compile
+compile: daemon-compile-x64-lin
 
-daemon-compile: 
-	go build -o OliveTin github.com/jamesread/OliveTin/cmd/OliveTin
+daemon-compile-armhf: 
+	GOARCH=arm GOARM=6 go build -o OliveTin.armhf github.com/jamesread/OliveTin/cmd/OliveTin
+
+daemon-compile-x64-lin: 
+	GOOS=linux go build -o OliveTin github.com/jamesread/OliveTin/cmd/OliveTin 
+
+daemon-compile-x64-win:
+	GOOS=windows GOARCH=amd64 go build -o OliveTin.exe github.com/jamesread/OliveTin/cmd/OliveTin
+
+daemon-compile: daemon-compile-armhf daemon-compile-x64-lin daemon-compile-x64-win
 
 daemon-codestyle:
 	go fmt ./...
@@ -37,4 +45,34 @@ webui-codestyle:
 	cd webui && eslint main.js js/*
 	cd webui && stylelint style.css
 
-.PHONY: grpc
+release-common: 
+	rm -rf releases/
+	mkdir -p releases/common/
+	cp -r webui releases/common/
+	cp -r var/config.yaml releases/common/
+	cp OliveTin.service releases/common/
+	cp README.md releases/common/
+	cp Dockerfile releases/common/
+
+release-bin-rpi: daemon-compile-armhf release-common
+	mkdir -p releases/rpi/
+	cd releases/common && cp -r * ../rpi/
+	cp OliveTin.armhf releases/rpi/OliveTin
+	cd releases/rpi && tar cavf "../OliveTin-armhf-`date +'%Y-%m-%d'`.`git rev-parse --short HEAD`.tgz" .
+
+release-bin-x64-lin: daemon-compile-x64-lin release-common
+	mkdir -p releases/x64-lin/
+	cd releases/common && cp -r * ../x64-lin/
+	cp OliveTin releases/x64-lin/
+	cd releases/x64-lin && tar cavf "../OliveTin-x64-linux-`date +'%Y-%m-%d'`.`git rev-parse --short HEAD`.tgz" .
+
+release-bin-x64-win: daemon-compile-x64-win release-common
+	mkdir -p releases/x64-win/
+	cd releases/common && cp -r * ../x64-win/
+	cp OliveTin.exe releases/x64-win/
+	cd releases/x64-lin && zip -r "../OliveTin-x64-windows-`date +'%Y-%m-%d'`.`git rev-parse --short HEAD`.zip" .
+
+releases: release-bin-rpi release-bin-x64-lin release-bin-x64-win
+
+
+.PHONY: grpc release-common