Makefile 2.4 KB
Newer Older
1
VERSION=1.6
aaronchen2k2k's avatar
aaronchen2k2k 已提交
2 3 4 5
PROJECT=zendata
PACKAGE=${PROJECT}-${VERSION}
BINARY=zd
BIN_DIR=bin
6 7
BIN_ZIP_DIR=${BIN_DIR}/zip/${PROJECT}/${VERSION}/
BIN_ZIP_RELAT=../../../zip/${PROJECT}/${VERSION}/
aaronchen2k2k's avatar
aaronchen2k2k 已提交
8
BIN_OUT=${BIN_DIR}/${PROJECT}/${VERSION}/
aaronchen2k2k's avatar
aaronchen2k2k 已提交
9 10 11 12
BIN_WIN64=${BIN_OUT}win64/zd/
BIN_WIN32=${BIN_OUT}win32/zd/
BIN_LINUX=${BIN_OUT}linux/zd/
BIN_MAC=${BIN_OUT}mac/zd/
aaronchen2k2k's avatar
aaronchen2k2k 已提交
13 14

default: prepare_res compile_all copy_files package
aaronchen2k2k's avatar
aaronchen2k2k 已提交
15

aaronchen2k2k's avatar
aaronchen2k2k 已提交
16 17 18 19
win64: prepare_res compile_win64 copy_files package
win32: prepare_res compile_win32 copy_files package
linux: prepare_res compile_linux copy_files package
mac: prepare_res compile_mac copy_files package
20
upload: upload_to
aaronchen2k2k's avatar
aaronchen2k2k 已提交
21 22 23 24

prepare_res:
	@echo 'start prepare res'
	@cp res/zh/sample.yaml demo/default.yaml
aaronchen2k2k's avatar
css  
aaronchen2k2k 已提交
25
	@go-bindata -o=res/res.go -pkg=res res/... ui/dist/...
aaronchen2k2k's avatar
aaronchen2k2k 已提交
26 27 28 29 30 31
	@rm -rf ${BIN_DIR}

compile_all: compile_win64 compile_win32 compile_linux compile_mac

compile_win64:
	@echo 'start compile win64'
32
	@CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ GOOS=windows GOARCH=amd64 go build -x -v -ldflags "-s -w" -o ${BIN_WIN64}zd.exe src/zd.go
aaronchen2k2k's avatar
aaronchen2k2k 已提交
33 34 35

compile_win32:
	@echo 'start compile win32'
36
	@CGO_ENABLED=1 CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ GOOS=windows GOARCH=386 go build -x -v -ldflags "-s -w" -o ${BIN_WIN32}zd.exe src/zd.go
aaronchen2k2k's avatar
aaronchen2k2k 已提交
37 38 39

compile_linux:
	@echo 'start compile linux'
aaronchen2k2k's avatar
aaronchen2k2k 已提交
40
	CGO_ENABLED=1 GOOS=linux GOARCH=amd64 CC=/usr/local/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-gcc CXX=/usr/local/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-g++ go build -o ${BIN_LINUX}zd src/zd.go
aaronchen2k2k's avatar
aaronchen2k2k 已提交
41 42 43 44 45 46 47

compile_mac:
	@echo 'start compile mac'
	@CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 go build -o ${BIN_MAC}zd src/zd.go

copy_files:
	@echo 'start copy files'
aaronchen2k2k's avatar
aaronchen2k2k 已提交
48 49 50
	@cp -r {data,yaml,users,demo} bin && rm -rf ${BIN_DIR}/demo/output

	@mkdir -p ${BIN_DIR}/tmp/cache && sqlite3 tmp/cache/.data.db ".backup '${BIN_DIR}/tmp/cache/.data.db'"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
51
	@sqlite3 '${BIN_DIR}/tmp/cache/.data.db' ".read 'xdoc/clear-data.txt'"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
52

53
	@for subdir in `ls ${BIN_OUT}`; do cp -r {bin/data,bin/yaml,bin/users,bin/demo,bin/tmp} "${BIN_OUT}$${subdir}/zd"; done
aaronchen2k2k's avatar
aaronchen2k2k 已提交
54 55 56 57

package:
	@echo 'start package'
	@find . -name .DS_Store -print0 | xargs -0 rm -f
58
	@for subdir in `ls ${BIN_OUT}`; do mkdir -p ${BIN_DIR}/zip/${PROJECT}/${VERSION}/$${subdir}; done
aaronchen2k2k's avatar
aaronchen2k2k 已提交
59

aaronchen2k2k's avatar
aaronchen2k2k 已提交
60 61
	@cd ${BIN_OUT} && \
		for subdir in `ls ./`; do cd $${subdir} && zip -r ${BIN_ZIP_RELAT}$${subdir}/${BINARY}.zip "${BINARY}" && cd ..; done
62 63 64 65 66

upload_to:
	@echo 'upload'
	@find ${BIN_DIR}/zip -name ".DS_Store" -type f -delete
	@qshell qupload2 --src-dir=bin/zip/ --bucket=download --log-file=qshell.log