.PHONY : test

# 平台架构
ARCH := $(shell arch)
#SO_ARCH_NAME := x64
#ifeq ("$(ARCH)", "linux/arm64")
#	SO_ARCH_NAME := arm64
#endif


PREFIX=/usr
PWD=$(shell pwd)
GOPATH_DIR = gopath
GOPKG_PREFIX = pkg.deepin.io/daemon/deepinid
PROG_DAEMON=deepin-deepinid-daemon
PROG_HELPER=deepin-sync-helper
export GO111MODULE=off
all: build
prepare:
#    $(info ${ARCH})
	@if [ ! -d ${GOPATH_DIR}/src/${GOPKG_PREFIX} ]; then \
		mkdir -p ${GOPATH_DIR}/src/${GOPKG_PREFIX}; \
		ln -sf ${PWD}/infrastructure ${PWD}/modules ${PWD}/service ${GOPATH_DIR}/src/${GOPKG_PREFIX}; \
		ln -sf ${PWD}/vendor/* ${GOPATH_DIR}/src/; \
	fi



	if [ "$(ARCH)" = "loongarch64" ]; then \
		rm -rf ${PWD}/vendor/golang.org/x/sys; \
		cp -rf ${PWD}/pkg/loongarch64/sys ${PWD}/vendor/golang.org/x/; \
		rm -rf ${PWD}/debian/rules; \
		cp  ${PWD}/pkg/loongarch64/rules ${PWD}/debian/; \
		cp -r ${PWD}/pkg/loongarch64/OPATH ${PWD}/; \
	fi






build: prepare
#	$(info $(shell ls  -l ${PWD}/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go))
	cd ${PWD}/cmd/deepin-deepinid-daemon; env GOCACHE=/tmp/gocache GOPATH=${PWD}/${GOPATH_DIR}:/usr/share/gocode go build -ldflags "-s -w" -o ${PWD}/${PROG_DAEMON}
	cd ${PWD}/cmd/deepin-sync-helper; env GOCACHE=/tmp/gocache GOPATH=${PWD}/${GOPATH_DIR}:/usr/share/gocode go build -ldflags "-s -w" -o ${PWD}/${PROG_HELPER}


dev:build
	${PWD}/${PROG_DAEMON} -l DEBUG -d 35

install:
	mkdir -p ${DESTDIR}/var/lib/deepin-deepinid-daemon
	cp -f datas/switcher.json ${DESTDIR}/var/lib/deepin-deepinid-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/
	# user autostart
	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-deepinid-daemon
	cp -f ${PWD}/${PROG_DAEMON} ${DESTDIR}/${PREFIX}/lib/deepin-deepinid-daemon/
	cp -f ${PWD}/${PROG_HELPER} ${DESTDIR}/${PREFIX}/lib/deepin-deepinid-daemon/
	# config file
	mkdir -p ${DESTDIR}/${PREFIX}/share/${PROG_DAEMON}/settings
	cp -f ${PWD}/settings.ini ${DESTDIR}/${PREFIX}/share/${PROG_DAEMON}/settings/


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

rebuild: clean build
