support aliyun sdk on TencentOS tiny
sample: examples\aliyun_iotkit_csdk_mqtt project: board\TencentOS_tiny_EVB_MX_Plus\KEIL\aliyun_iotkit_csdk_mqtt
This commit is contained in:
160
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-submods.mk
vendored
Normal file
160
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-submods.mk
vendored
Normal file
@@ -0,0 +1,160 @@
|
||||
SUB_LOG_OPTION := $(if $(Q),,| tee -a $(OUTPUT_DIR)/$${i}/$(COMPILE_LOG))
|
||||
ALL_LOG_OPTION := $(if $(Q),,| tee -a $(COMPILE_LOG))
|
||||
|
||||
sub-mods: toolchain config
|
||||
$(Q) \
|
||||
if [ -f $(STAMP_ONE_MK) ] && [ "$(MAKECMDGOALS)" = "" ]; then \
|
||||
CORE_NUM=$$(cat /proc/cpuinfo 2>/dev/null| grep processor | tail -1 | awk '{ print $$NF }'); \
|
||||
JOBS_NUM=32; \
|
||||
if [ "$${CORE_NUM}" != "" ]; then JOBS_NUM=$${CORE_NUM}; fi; \
|
||||
if [ "$(Q)" != "@" ]; then JOBS_NUM=0; fi; \
|
||||
rm -rf $(OUTPUT_DIR)${bindir}/* && \
|
||||
if [ -f $(STAMP_LCOV) ] && [ "$(WITH_LCOV)" != "1" ]; then \
|
||||
$(MAKE) --no-print-directory clean; \
|
||||
fi && \
|
||||
if ([ ! -f $(STAMP_LCOV) ] && [ "$(WITH_LCOV)" = "1" ]) || [ $(TOP_DIR)/make.settings -nt $(DIST_DIR) ]; then \
|
||||
$(MAKE) --no-print-directory clean; \
|
||||
fi && \
|
||||
$(MAKE) --no-print-directory -j$$((JOBS_NUM + 1)) -f $(STAMP_ONE_MK) && \
|
||||
TMPD=$$(mktemp -d) && \
|
||||
rm -rf $(LIBOBJ_TMPDIR) $${TMPD} && \
|
||||
cp -rf $(OUTPUT_DIR) $${TMPD} && \
|
||||
rm -rf $${TMPD}/{usr,stamps} && \
|
||||
mv $${TMPD} $(LIBOBJ_TMPDIR); \
|
||||
else \
|
||||
if [ -f $(STAMP_PRJ_CFG) ]; then true; else \
|
||||
set -o pipefail; \
|
||||
for i in \
|
||||
$(SUBDIRS); do \
|
||||
if [ ! -d $${i} ]; then continue; fi; \
|
||||
$(MAKE) --no-print-directory Q=$(Q) $${i} 2>&1 $(SUB_LOG_OPTION); \
|
||||
RETVAL=$$?; \
|
||||
if [ $${RETVAL} != 0 ]; then exit $${RETVAL}; fi; \
|
||||
done 2>&1 $(ALL_LOG_OPTION); \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
TOP_BUILD_VARS := \
|
||||
CC LD AR \
|
||||
CFLAGS LDFLAGS \
|
||||
PACKAGE_DIR \
|
||||
IMPORT_DIR \
|
||||
EXPORT_DIR \
|
||||
TOP_DIR \
|
||||
RULE_DIR \
|
||||
CONFIG_VENDOR \
|
||||
COMP_LIB \
|
||||
COMP_LIB_COMPONENTS \
|
||||
$(CROSS_CANDIDATES) \
|
||||
$(MAKE_ENV_VARS) \
|
||||
INSTALL_DIR \
|
||||
INSTALL_LIB_DIR \
|
||||
SYSROOT_INC \
|
||||
KERNEL_DIR \
|
||||
MAKE_ENV_VARS \
|
||||
CROSS_PREFIX \
|
||||
CROSS_CANDIDATES \
|
||||
ALL_SUB_DIRS \
|
||||
WIN32_CMAKE_SKIP \
|
||||
NOEXEC_CMAKE_DIRS \
|
||||
|
||||
CMDLINE_VARS := \
|
||||
HD_MAKEFILE \
|
||||
MAKE_SEGMENT \
|
||||
OUTPUT_DIR \
|
||||
PACKAGE_DIR \
|
||||
STAMP_BLD_ENV \
|
||||
STAMP_UNPACK \
|
||||
TOP_DIR \
|
||||
RULE_DIR \
|
||||
|
||||
# When TOP_BUILD_VARS like $(CFLAGS) contains special character '$'
|
||||
# simply echo its value into 'Makefile' will cause '$' lost when GNU make read in again
|
||||
#
|
||||
$(STAMP_BLD_ENV): $(TOP_DIR)/makefile $(shell ls $(CONFIG_TPL) 2>/dev/null) \
|
||||
$(wildcard $(RULE_DIR)/*.mk) \
|
||||
$(shell grep "^ *include" $(TOP_DIR)/$(TOP_MAKEFILE)|awk '{ print $$NF }'|$(SED) '/^\$$/d')
|
||||
@rm -f $@
|
||||
@$(foreach V, \
|
||||
$(sort $(TOP_BUILD_VARS)), \
|
||||
echo "$(V) := $(sort $($(V)))"|$(SED) 's:\$$:$$$$:g' >> $(STAMP_BLD_ENV); \
|
||||
)
|
||||
@echo "COMP_LIB_FILES := $(foreach V,$(COMP_LIB_COMPONENTS), $(LIBA_TARGET_$(V)))" >> $@
|
||||
|
||||
# note:
|
||||
# $(SED) -i "/CONFIG_$${i//\//\\/}.*/d" $(CONFIG_TPL);
|
||||
# above
|
||||
# $(SED) -i "1iCONFIG_$${i} = y" $(CONFIG_TPL)
|
||||
# was removed since modules will be skipped in some cases
|
||||
|
||||
$(STAMP_BLD_VAR): $(foreach d,$(ALL_SUB_DIRS),$(d)/$(MAKE_SEGMENT)) $(STAMP_BLD_ENV) $(wildcard $(RULE_DIR)/*.mk)
|
||||
$(TOP_Q) \
|
||||
( \
|
||||
if [ ! -f $(STAMP_BLD_VAR) ]; then echo ""; VERBOSE=1; fi; \
|
||||
rm -f $(STAMP_BLD_VAR); \
|
||||
for i in $(shell echo "$(ALL_SUB_DIRS)"|tr ' ' '\n'|sort -u); do \
|
||||
if [ "$${VERBOSE}" != "" ]; then \
|
||||
printf "CONFIGURE .............................. [%s]\n" $${i}; \
|
||||
$(SED) -i "1iCONFIG_$${i} = y" $(CONFIG_TPL); \
|
||||
if ! grep -q "target-$${i}:" $(STAMP_POST_RULE) 2>/dev/null; then \
|
||||
echo "target-$${i}:; @true" >> $(STAMP_POST_RULE); \
|
||||
fi; \
|
||||
fi; \
|
||||
$(foreach V, $(CMDLINE_VARS), $(V)="$($(V))") \
|
||||
bash $(RULE_DIR)/pre-build.sh $${i} makefile-only > /dev/null; \
|
||||
if [ -d $(OUTPUT_DIR)/$${i} ]; then \
|
||||
$(MAKE) -s -C $(OUTPUT_DIR)/$${i} modinfo > /dev/null; \
|
||||
if [ $$? = 0 ]; then \
|
||||
$(MAKE) --no-print-directory -s -C $(OUTPUT_DIR)/$${i} modinfo >> $(STAMP_BLD_VAR); \
|
||||
else \
|
||||
echo ""; \
|
||||
echo "ERROR detected in '$${i}/$(MAKE_SEGMENT)'..."|grep --color '.*'; \
|
||||
echo ""; \
|
||||
rm -f $(STAMP_BLD_VAR) $(STAMP_PRJ_CFG); \
|
||||
exit 13; \
|
||||
fi \
|
||||
fi \
|
||||
done; \
|
||||
sort -o $(STAMP_BLD_VAR) $(STAMP_BLD_VAR); \
|
||||
if [ "$${VERBOSE}" != "" ]; then echo ""; fi; \
|
||||
)
|
||||
|
||||
pre-build: MOD = $(subst target-,,$(filter-out $@,$(MAKECMDGOALS)))
|
||||
pre-build: $(STAMP_BLD_ENV)
|
||||
$(TOP_Q)rm -f $(OUTPUT_DIR)/$(MOD)/$(STAMP_UNPACK)
|
||||
$(if $(filter 0,$(MAKELEVEL)),,@) \
|
||||
$(strip $(foreach V, $(CMDLINE_VARS), $(V)="$($(V))") \
|
||||
PKG_SOURCE="$(PKG_SOURCE_$(MOD))" \
|
||||
PKG_BRANCH="$(PKG_BRANCH_$(MOD))" \
|
||||
PKG_REVISION="$(PKG_REVISION_$(MOD))" \
|
||||
PKG_UPSTREAM="$(PKG_UPSTREAM_$(MOD))" \
|
||||
PKG_SWITCH="$(PKG_SWITCH_$(MOD))" \
|
||||
) \
|
||||
$(if $(filter 0,$(MAKELEVEL)),VERBOSE_PRE_BLD=1) \
|
||||
bash $(RULE_DIR)/pre-build.sh $(subst target-,,$(filter-out $@,$(MAKECMDGOALS)))
|
||||
|
||||
.PHONY: $(ALL_SUB_DIRS)
|
||||
|
||||
$(ALL_SUB_DIRS): ALL_LOG_OPT = $(if $(Q),,2>&1|tee -a $(OUTPUT_DIR)/$(COMPILE_LOG))
|
||||
$(ALL_SUB_DIRS): SUB_LOG_OPT = $(if $(Q),,2>&1|tee -a $(OUTPUT_DIR)/$@/$(COMPILE_LOG))
|
||||
|
||||
$(ALL_SUB_DIRS): $(if $(filter 0,$(MAKELEVEL)),toolchain) $(STAMP_BLD_VAR)
|
||||
$(TOP_Q)rm -f $(STAMP_PRJ_CFG)
|
||||
$(TOP_Q)$(MAKE) --no-print-directory pre-build target-$@
|
||||
ifeq (0,$(MAKELEVEL))
|
||||
$(Q)$(MAKE) --no-print-directory -C $(OUTPUT_DIR)/$@ clean
|
||||
endif
|
||||
$(Q) \
|
||||
if [ "$$( $(call Require_Build,$@) )" = "TRUE" ]; then \
|
||||
$(call Build_Depends,$@) && \
|
||||
$(call Build_CompLib,$@) && \
|
||||
$(call Update_Extra_Srcs,$(EXTRA_SRCS_$@),$@) && \
|
||||
$(MAKE) --no-print-directory -C $(OUTPUT_DIR)/$@ all $(SUB_LOG_OPT) $(ALL_LOG_OPT) && \
|
||||
if [ "$$(echo $(ORIGIN_$@))" != "" ]; then \
|
||||
touch $(OUTPUT_DIR)/$@/{$(STAMP_UNPACK),$(STAMP_CONFIG),$(STAMP_BUILD),$(STAMP_INSTALL)}; \
|
||||
fi \
|
||||
else \
|
||||
echo -ne "\r$$(printf '%40s' '')\r"; \
|
||||
fi
|
||||
|
||||
@mkdir -p $(STAMP_DIR) && touch $(STAMP_DIR)/$$(echo "$@"|$(SED) 's:/:~:g').build.done
|
Reference in New Issue
Block a user