.PHONY : test

PREFIX=/usr
PWD=$(shell pwd)
GOPATH_DIR = gopath
GOPKG_PREFIX = pkg.deepin.io/daemon/sync
PROG_DAEMON=deepin-sync-daemon
PROG_HELPER=deepin-sync-helper
export GO111MODULE=off

all: build

prepare:
	@if [ ! -d ${GOPATH_DIR}/src/${GOPKG_PREFIX} ]; then \
		mkdir -p ${GOPATH_DIR}/src/${GOPKG_PREFIX}; \
		ln -sf ${PWD}/deepinid ${PWD}/infrastructure ${PWD}/modules ${PWD}/pusher ${GOPATH_DIR}/src/${GOPKG_PREFIX}; \
		ln -sf  ${PWD}/vendor/* ${GOPATH_DIR}/src/; \
	fi

build: prepare
	cd ${PWD}/cmd/deepin-sync-daemon; env GOPATH=${PWD}/${GOPATH_DIR}:/usr/share/gocode go build -o ${PWD}/${PROG_DAEMON}
	cd ${PWD}/cmd/deepin-sync-helper; env GOPATH=${PWD}/${GOPATH_DIR}:/usr/share/gocode go build -o ${PWD}/${PROG_HELPER}

dev:build
	${PWD}/${PROG_DAEMON}

install:
	mkdir -p ${DESTDIR}/var/lib/deepin-sync-daemon
	cp -f datas/switcher.json ${DESTDIR}/var/lib/deepin-sync-daemon
	mkdir -p ${DESTDIR}/etc/xdg/autostart
	cp -f datas/autostart/*.desktop ${DESTDIR}/etc/xdg/autostart
	mkdir -p ${DESTDIR}/${PREFIX}/share/dbus-1/system.d
	cp -f datas/dbus/conf/com.deepin.sync.Helper.conf ${DESTDIR}/${PREFIX}/share/dbus-1/system.d/
	mkdir -p ${DESTDIR}/${PREFIX}/share/dbus-1/services
	cp -f datas/dbus/services/*.service ${DESTDIR}/${PREFIX}/share/dbus-1/services/
	mkdir -p ${DESTDIR}/${PREFIX}/share/dbus-1/system-services
	cp -f datas/dbus/system-services/com.deepin.sync.Helper.service ${DESTDIR}/${PREFIX}/share/dbus-1/system-services/
	mkdir -p ${DESTDIR}/${PREFIX}/lib/deepin-sync-daemon
	cp -f ${PWD}/${PROG_DAEMON} ${DESTDIR}/${PREFIX}/lib/deepin-sync-daemon/
	cp -f ${PWD}/${PROG_HELPER} ${DESTDIR}/${PREFIX}/lib/deepin-sync-daemon/

clean:
	rm -rf ${GOPATH_DIR}
	rm -f ${PWD}/${PROG_DAEMON}
	rm -f ${PWD}/${PROG_HELPER}

rebuild: clean build
