###########################################################################
-# Copyright 2017 IoT.bzh
+# Copyright 2017-2018 IoT.bzh
#
# author: Sebastien Douheret <sebastien@iot.bzh>
#
HOST_GOOS=$(shell go env GOOS)
HOST_GOARCH=$(shell go env GOARCH)
ARCH=$(HOST_GOOS)-$(HOST_GOARCH)
-REPOPATH=github.com/iotbzh/$(TARGET)
+REPOPATH=gerrit.automotivelinux.org/gerrit/src/xds/$(TARGET)
EXT=
ifeq ($(HOST_GOOS), windows)
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
ROOT_SRCDIR := $(patsubst %/,%,$(dir $(mkfile_path)))
-ROOT_GOPRJ := $(abspath $(ROOT_SRCDIR)/../../../..)
+ROOT_GOPRJ := $(abspath $(ROOT_SRCDIR)/../../../../../..)
LOCAL_BINDIR := $(ROOT_SRCDIR)/bin
LOCAL_TOOLSDIR := $(ROOT_SRCDIR)/tools/${HOST_GOOS}
PACKAGE_DIR := $(ROOT_SRCDIR)/package
ifeq ($(SUB_VERSION), )
PACKAGE_ZIPFILE := $(TARGET)_$(ARCH)-$(VERSION).zip
else
- PACKAGE_ZIPFILE := $(TARGET)_$(ARCH)-$(VERSION)_$(SUB_VERSION).zip
+ # only use dot as separator to allow rpm packaging (see version .spec file)
+ PK_VER := $(subst _,.,$(subst -,,$(VERSION)))
+ PK_SBVER := $(subst _,.,$(subst -,,$(SUB_VERSION)))
+ PACKAGE_ZIPFILE := $(TARGET)_$(ARCH)-$(PK_VER).$(PK_SBVER).zip
endif
go fmt $(shell $(LOCAL_TOOLSDIR)/glide novendor)
run: build/xds tools/syncthing/copytobin
- $(LOCAL_BINDIR)/$(TARGET)$(EXT) --log info -c agent-config.json.in
+ $(LOCAL_BINDIR)/$(TARGET)$(EXT) --log info $(XDS_AGENT_RUN_ARGS)
debug: build/xds tools/syncthing/copytobin
- $(LOCAL_BINDIR)/$(TARGET)$(EXT) --log debug -c agent-config.json.in
+ $(LOCAL_BINDIR)/$(TARGET)$(EXT) --log debug $(XDS_AGENT_DEBUG_ARGS)
.PHONY: clean
clean:
.PHONY: distclean
distclean: clean
- cd $(ROOT_SRCDIR) && rm -rf $(LOCAL_BINDIR) ./tools ./glide.lock ./vendor ./*.zip ./webapp/node_modules ./webapp/dist
+ (cd $(ROOT_SRCDIR) && rm -rf $(LOCAL_BINDIR) ./tools ./glide.lock ./vendor ./*.zip ./webapp/dist ./webapp/node_modules)
webapp: webapp/install
+ifneq ($(SKIP_WEBAPP_BUILD), true)
cd webapp && npm run $(WEBAPP_BUILD_RULE)
+else
+ @echo "Skipping webapp build (SKIP_WEBAPP_BUILD var is set)"
+endif
webapp/debug:
cd webapp && npm run watch
webapp/install:
+ifneq ($(SKIP_WEBAPP_BUILD), true)
(cd webapp && npm install)
+else
+ @echo "Skipping webapp install (SKIP_WEBAPP_BUILD var is set)"
+endif
@if [ -d ${DESTDIR}/usr/local/etc ]; then rm -rf ${DESTDIR}/usr; fi
.PHONY: install
ifneq ($(GOOS), windows)
@cp -r $(ROOT_SRCDIR)/conf.d $(ROOT_SRCDIR)/scripts $(PACKAGE_DIR)/$(TARGET)/
endif
- @cp $(ROOT_SRCDIR)/conf.d/etc/xds-agent/config.json $(PACKAGE_DIR)/$(TARGET)/config.json.in
+ @cp $(ROOT_SRCDIR)/conf.d/etc/xds/agent/agent-config.json $(PACKAGE_DIR)/$(TARGET)/agent-config.json.in
@cd $(PACKAGE_DIR) && zip -r $(ROOT_SRCDIR)/$(PACKAGE_ZIPFILE) ./$(TARGET)
@echo "### Package $(PACKAGE_ZIPFILE) has been successfuly built - $(BUILD_MODE)"
@echo "# Build linux amd64..."
GOOS=linux GOARCH=amd64 RELEASE=1 make -f $(ROOT_SRCDIR)/Makefile package
@echo "# Build windows amd64..."
- GOOS=windows GOARCH=amd64 RELEASE=1 make -f $(ROOT_SRCDIR)/Makefile package
+ GOOS=windows GOARCH=amd64 RELEASE=1 SKIP_WEBAPP_BUILD=true make -f $(ROOT_SRCDIR)/Makefile package
@echo "# Build darwin amd64..."
- GOOS=darwin GOARCH=amd64 RELEASE=1 make -f $(ROOT_SRCDIR)/Makefile package
+ GOOS=darwin GOARCH=amd64 RELEASE=1 SKIP_WEBAPP_BUILD=true make -f $(ROOT_SRCDIR)/Makefile package
make -f $(ROOT_SRCDIR)/Makefile clean
vendor: tools/glide glide.yaml
$(LOCAL_TOOLSDIR)/glide install --strip-vendor
vendor/debug: vendor
- (cd vendor/github.com/iotbzh && \
- rm -rf xds-common && ln -s ../../../../xds-common \
- rm -rf xds-server && ln -s ../../../../xds-server )
+ (cd vendor/gerrit.automotivelinux.org/gerrit/src/xds && \
+ rm -rf xds-common.git && ln -s ../../../../../../xds-common xds-common.git && \
+ rm -rf xds-server.git && ln -s ../../../../../../xds-server xds-server.git )
.PHONY: tools/glide
tools/glide:
@test -f $(LOCAL_TOOLSDIR)/glide || { \
echo "Downloading glide"; \
mkdir -p $(LOCAL_TOOLSDIR); \
- curl --silent -L https://glide.sh/get | GOBIN=$(LOCAL_TOOLSDIR) sh; \
+ curl --silent --connect-timeout 60 --retry 3 -L https://glide.sh/get | GOBIN=$(LOCAL_TOOLSDIR) sh; \
}
.PHONY: tools/syncthing
.PHONY: help
help:
@echo "Main supported rules:"
- @echo " all (default)"
+ @echo " all (default)"
@echo " build"
@echo " package"
@echo " install"