Makefile 2.2 KB
Newer Older
aaronchen2k2k's avatar
aaronchen2k2k 已提交
1 2 3 4 5
VERSION=1.2.0
PROJECT=zendata
PACKAGE=${PROJECT}-${VERSION}
BINARY=zd
BIN_DIR=bin
aaronchen2k2k's avatar
aaronchen2k2k 已提交
6 7
BIN_ZIP_DIR=${BIN_DIR}/zip/
BIN_ZIP_RELAT=../../../zip/
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 20 21 22 23
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

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

compile_all: compile_win64 compile_win32 compile_linux compile_mac

compile_win64:
	@echo 'start compile win64'
31
	@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 已提交
32 33 34

compile_win32:
	@echo 'start compile win32'
35
	@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 已提交
36 37 38

compile_linux:
	@echo 'start compile linux'
aaronchen2k2k's avatar
aaronchen2k2k 已提交
39
	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 已提交
40 41 42 43 44 45 46

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'
47
	@cp -r {data,yaml,users,demo,tmp} bin && rm -rf ${BIN_DIR}/demo/output
48
	@rm -rf ${BIN_DIR}/tmp/cache/.data.db-shm && rm -rf ${BIN_DIR}/tmp/cache/.data.db-wal
aaronchen2k2k's avatar
aaronchen2k2k 已提交
49

50
	@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 已提交
51 52 53 54

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

aaronchen2k2k's avatar
aaronchen2k2k 已提交
57 58 59
	@cd ${BIN_OUT} && \
		for subdir in `ls ./`; do cd $${subdir} && zip -r ${BIN_ZIP_RELAT}$${subdir}/${BINARY}.zip "${BINARY}" && cd ..; done
	#@cd ${BIN_ZIP_DIR} && zip -r ${PACKAGE}.zip ./
60
	#@cd ${BIN_DIR} && rm -rf ${PROJECT}