|
1 | 1 | # Build tool for Factorio Server Manager |
2 | | -# |
3 | 2 |
|
4 | 3 | NODE_ENV:=production |
5 | 4 |
|
6 | | -build: |
7 | | -# make sure this project is located within GOPATH, I.E. $GOPATH/src/factorio-server-manager |
8 | | - |
9 | | - # Build Linux release |
10 | | - mkdir build |
11 | | - GOOS=linux GOARCH=amd64 go build -o factorio-server-manager/factorio-server-manager factorio-server-manager/src |
12 | | -# ui/node_modules/webpack/bin/webpack.js ui/webpack.config.js app/bundle.js --progress --profile --colors |
13 | | - cp -r app/ factorio-server-manager/ |
14 | | - cp conf.json.example factorio-server-manager/conf.json |
15 | | - zip -r build/factorio-server-manager-linux-x64.zip factorio-server-manager |
16 | | - rm -rf factorio-server-manager |
17 | | - # Build Windows release |
18 | | - GOOS=windows GOARCH=386 go build -o factorio-server-manager/factorio-server-manager.exe factorio-server-manager/src |
19 | | - cp -r app/ factorio-server-manager/ |
20 | | - cp conf.json.example factorio-server-manager/conf.json |
21 | | - zip -r build/factorio-server-manager-windows.zip factorio-server-manager |
22 | | - rm -rf factorio-server-manager |
23 | | - |
24 | | -dev: |
25 | | - mkdir dev |
26 | | - GOOS=linux GOARCH=amd64 go build -o factorio-server-linux/factorio-server-manager factorio-server-manager/src |
27 | | - cp -r app/ dev/ |
28 | | - cp conf.json.example dev/conf.json |
29 | | - mv factorio-server-linux/factorio-server-manager dev/factorio-server-manager |
| 5 | +#TODO add support for a mac build maybe? |
| 6 | +UNAME := $(shell uname) |
| 7 | +ifeq ($(UNAME), Linux) |
| 8 | + release := build/factorio-server-manager-linux.zip |
| 9 | +else |
| 10 | + release := build/factorio-server-manager-windows.zip |
| 11 | +endif |
| 12 | + |
| 13 | +build: $(release) |
| 14 | + |
| 15 | +$(shell mkdir -p build) |
| 16 | +build/factorio-server-manager-%.zip: app/bundle.js factorio-server-manager-% |
| 17 | + @echo "Packaging Build - $@" |
| 18 | + @cp -r app/ factorio-server-manager/ |
| 19 | + @cp conf.json.example factorio-server-manager/conf.json |
| 20 | + @zip -r $@ factorio-server-manager > /dev/null |
| 21 | + @rm -r factorio-server-manager |
| 22 | + |
| 23 | +app/bundle.js: |
| 24 | + @echo "Building Frontend" |
| 25 | + @cd ui && npm install && npm run build |
| 26 | + |
| 27 | +factorio-server-manager-linux: godeps |
| 28 | + @echo "Building Backend - Linux" |
| 29 | + @GOPATH="${GOPATH}:${PDW}" |
| 30 | + @mkdir -p factorio-server-manager |
| 31 | + @GOOS=linux GOARCH=amd64 go build -o factorio-server-manager/factorio-server-manager ./src |
| 32 | + |
| 33 | +factorio-server-manager-windows: godeps |
| 34 | + @echo "Building Backend - Windows" |
| 35 | + @GOPATH="${GOPATH}:${PDW}" |
| 36 | + @mkdir -p factorio-server-manager |
| 37 | + @GOOS=windows GOARCH=386 go build -o factorio-server-manager/factorio-server-manager.exe ./src |
| 38 | + |
| 39 | +godeps: |
| 40 | + @echo "Installing Packages" |
| 41 | + @cat gopkglist | xargs go get |
| 42 | + |
| 43 | +gen_release: build/factorio-server-manager-linux.zip build/factorio-server-manager-windows.zip |
| 44 | + @echo "Done" |
| 45 | + |
| 46 | +clean: |
| 47 | + @echo "Cleaning" |
| 48 | + @rm -r build/ |
| 49 | + @rm app/bundle.js |
0 commit comments