DIST := dist
|
CD := $(shell pwd)
|
INI_WRITER := $(CD)/inirw
|
DIST_DIR := $(CD)/$(DIST)
|
BIN_DIR := $(DIST_DIR)/bin
|
INI_FILE := $(DIST_DIR)/bin/manifest.ini
|
LOCAL_DIR := $(DIST_DIR)/local
|
ARCH_FILE := $(DIST_DIR)-$(shell date "+%Y%m%d-%H%M%S").zip
|
SUB_DIR=$(shell ls -l |grep -v sync- | grep -E 'service|-control|-gateway'| awk '{print $$9}' )
|
VERSION=1.0.1
|
PLAT_FORM := x86_64
|
|
ifdef arch
|
PLAT_FORM=$(arch)
|
$(info "plat_form" $(PLAT_FORM))
|
endif
|
|
ifeq ($(MAKECMDGOALS),base)
|
SUB_DIR := api-gateway \
|
log-service \
|
sysinfo-service \
|
system-service \
|
version-control
|
endif
|
|
ifeq ($(MAKECMDGOALS),agx)
|
PLAT_FORM=aarch64
|
endif
|
|
define submake
|
$(MAKE) -C $(subst app/,,$@) MODULE_NAME=$(subst app/,,$@) OUTPUT_DIR=$(BIN_DIR) CONFIG_DIR=$(LOCAL_DIR) INI_SCRIPT=$(INI_WRITER) MANIFEST=$(INI_FILE) PLATFORM=$(PLAT_FORM)
|
endef
|
|
.PHONY: app/%
|
app/%:
|
$(submake);
|
|
base:$(SUB_DIR)
|
|
agx:$(SUB_DIR)
|
|
all:$(SUB_DIR) ARCHIVE
|
|
$(SUB_DIR): ECHO
|
$(submake)
|
|
ECHO:
|
@echo $(SUB_DIR)
|
|
ARCHIVE:
|
echo "$(VERSION)" > "$(DIST)/version.txt"
|
zip -r -q -o "$(ARCH_FILE)" "$(DIST)/"
|
|
Test:
|
echo $(BIN_DIR)
|
echo $(LOCAL_DIR)
|
echo $(ARCH_FILE)
|
|
clean:
|
rm -rf $(DIST)/*
|
|
.PHONY : all clean
|