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:
55
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-complib.mk
vendored
Normal file
55
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-complib.mk
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
.PHONY: comp-lib
|
||||
|
||||
ifdef COMP_LIB
|
||||
ifeq (dynamic,$(CONFIG_LIB_EXPORT))
|
||||
define Finalize_CompLib
|
||||
( \
|
||||
$(CC) -shared -Os -o $(2)/lib$(3).so $(1) $(LDFLAGS); \
|
||||
)
|
||||
endef
|
||||
define Info_CompLib
|
||||
( \
|
||||
EXIST_OBJS="$$(ls $(2) 2>/dev/null)"; \
|
||||
\
|
||||
echo -ne "\033[1;32m"; \
|
||||
printf "\r%-40s%s\n" "[AR] lib$(1).so" "<= "; \
|
||||
for i in $${EXIST_OBJS}; do \
|
||||
printf "%-40s%s\n" "" " $${i}"|$(SED) 's,$(LIBOBJ_TMPDIR)/,,g'; \
|
||||
done; \
|
||||
echo -ne "\033[0m"; \
|
||||
)
|
||||
endef
|
||||
else
|
||||
define Finalize_CompLib
|
||||
( \
|
||||
EXIST_OBJS="$$(ls $(1) 2>/dev/null)"; \
|
||||
\
|
||||
if [ "$${EXIST_OBJS}" != "" ]; then \
|
||||
$(AR) -rcs $(2)/lib$(3).a $${EXIST_OBJS}; \
|
||||
fi \
|
||||
)
|
||||
endef
|
||||
define Info_CompLib
|
||||
( \
|
||||
EXIST_OBJS="$$(ls $(2) 2>/dev/null)"; \
|
||||
\
|
||||
echo -ne "\033[1;35m"; \
|
||||
printf "\r%-40s%s\n" "[AR] lib$(1).a" "<= "; \
|
||||
for i in $${EXIST_OBJS}; do \
|
||||
printf "%-40s%s\n" "" " $${i}"|$(SED) 's,$(LIBOBJ_TMPDIR)/,,g'; \
|
||||
done; \
|
||||
echo -ne "\033[0m"; \
|
||||
)
|
||||
endef
|
||||
endif # dynamic
|
||||
endif # COMP_LIB
|
||||
|
||||
comp-lib: toolchain
|
||||
ifdef COMP_LIB
|
||||
$(TOP_Q)+( \
|
||||
if [ -f $(STAMP_PRJ_CFG) ]; then true; else \
|
||||
$(call Build_CompLib,FORCE) \
|
||||
fi)
|
||||
else
|
||||
$(Q)true
|
||||
endif
|
26
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-coverage.mk
vendored
Normal file
26
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-coverage.mk
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
.PHONY: coverage lcov test
|
||||
|
||||
ifneq (,$(COVERAGE_LIST))
|
||||
COVERAGE_PROGS := \(
|
||||
COVERAGE_PROGS += $(COVERAGE_LIST)
|
||||
COVERAGE_PROGS += \)
|
||||
COVERAGE_CMD := $(RULE_DIR)/scripts/exe_coverage_progs.sh
|
||||
endif
|
||||
|
||||
ifeq (,$(COVERAGE_CMD))
|
||||
coverage lcov test:
|
||||
@echo "COVERAGE_CMD not defined, skip"
|
||||
else
|
||||
coverage lcov test:
|
||||
#
|
||||
# SKIP --coverage existence in $(CFLAGS) checking for now
|
||||
#
|
||||
$(Q)$(MAKE) --no-print-directory WITH_LCOV=1
|
||||
|
||||
$(Q)OUTPUT_DIR=$(OUTPUT_DIR) bash <($(SED) '2iPROGS=$(COVERAGE_PROGS)' $(COVERAGE_CMD)) || true
|
||||
|
||||
$(Q)CFLAGS=$(CFLAGS) \
|
||||
$(foreach V,$(INFO_ENV_VARS),$(V)="$($(V))") \
|
||||
bash $(RULE_DIR)/scripts/gen_lcov_report.sh
|
||||
|
||||
endif
|
51
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-dist.mk
vendored
Normal file
51
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-dist.mk
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
|
||||
final-out: sub-mods
|
||||
ifneq (1,$(WITH_LCOV))
|
||||
ifneq (,$(COMP_LIB_NAME))
|
||||
$(TOP_Q) \
|
||||
if [ ! -f $(SYSROOT_LIB)/lib$(COMP_LIB_NAME).a ] && \
|
||||
[ ! -f $(SYSROOT_LIB)/lib$(COMP_LIB_NAME).so ]; then \
|
||||
$(call Build_CompLib, FORCE) \
|
||||
fi;
|
||||
endif
|
||||
|
||||
$(TOP_Q) \
|
||||
if [ -f $(STAMP_PRJ_CFG) ]; then true; else \
|
||||
rm -rf $(FINAL_DIR); \
|
||||
mkdir -p $(DIST_DIR) $(FINAL_DIR); \
|
||||
for i in bin lib include; do \
|
||||
if [ -d $(OUTPUT_DIR)/usr/$${i} ]; then \
|
||||
cp -rf $(OUTPUT_DIR)/usr/$${i} $(FINAL_DIR); \
|
||||
fi; \
|
||||
done; \
|
||||
VDR_NAME=$$(grep -m 1 "VENDOR *:" $(CONFIG_TPL) 2>/dev/null|awk '{ print $$NF }'); \
|
||||
if [ "$$(ls $(IMPORT_DIR)/$${VDR_NAME}/$(PREBUILT_LIBDIR)/lib* 2>/dev/null)" != "" ]; then \
|
||||
cp -f $(IMPORT_DIR)/$${VDR_NAME}/$(PREBUILT_LIBDIR)/lib* $(FINAL_DIR)/lib; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
$(TOP_Q) \
|
||||
if [ "$$(ls $(FINAL_DIR)/lib/*.a 2>/dev/null)" != "" ]; then \
|
||||
$(STRIP) $(STRIP_DBGOPT) $(FINAL_DIR)/lib/*.a 2>/dev/null || (echo "$(STRIP) $(FINAL_DIR)/lib/*.a failed!" || true); \
|
||||
fi
|
||||
|
||||
$(TOP_Q) \
|
||||
if [ "$$(ls $(FINAL_DIR)/bin/ 2>/dev/null)" != "" ]; then \
|
||||
$(STRIP) $(FINAL_DIR)/bin/* 2>/dev/null || (echo "$(STRIP) $(FINAL_DIR)/bin/* failed!" || true); \
|
||||
fi
|
||||
$(TOP_Q) \
|
||||
if [ "$$(ls $(FINAL_DIR)/lib/*.so 2>/dev/null)" != "" ]; then \
|
||||
$(STRIP) $(STRIP_DBGOPT) $(FINAL_DIR)/lib/*.so 2>/dev/null || (echo "$(STRIP) $(FINAL_DIR)/lib/*.so failed!" || true); \
|
||||
fi
|
||||
|
||||
ifeq ($(strip $(HAS_POST_HOOK)), 1)
|
||||
$(TOP_Q)+$(call $(POST_FINAL_OUT_HOOK))
|
||||
endif
|
||||
ifneq (,$(filter all,$(strip $(MAKECMDGOALS))))
|
||||
$(TOP_Q)+$(call $(POST_FINAL_OUT_HOOK))
|
||||
endif
|
||||
|
||||
$(TOP_Q)$(foreach V,$(INFO_ENV_VARS),$(V)="$($(V))") \
|
||||
CFLAGS=$(CFLAGS) SED=$(SED) \
|
||||
bash $(RULE_DIR)/scripts/gen_rom_stats.sh
|
||||
endif
|
148
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-flat.mk
vendored
Normal file
148
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-flat.mk
vendored
Normal file
@@ -0,0 +1,148 @@
|
||||
ifneq ($(TOP_DIR),$(CURDIR))
|
||||
INTERNAL_INCLUDES += -I$(SYSROOT_INC)
|
||||
INTERNAL_INCLUDES += $(foreach d, $(shell find $(SYSROOT_INC) -type d), -I$(d))
|
||||
INTERNAL_INCLUDES += -I$(TOP_DIR)
|
||||
INTERNAL_INCLUDES += $(foreach d, $(shell find -L $(TOP_DIR)/$(EXPORT_DIR) -type d -not -path "*/.*" -not -path "$(TOP_DIR)/$(SHADOW_DIR)*"), -I$(d))
|
||||
INTERNAL_INCLUDES += \
|
||||
$(foreach d, \
|
||||
$(shell [ -d $(IMPORT_DIR)/$(CONFIG_VENDOR)/include ] && find -L $(IMPORT_DIR)/$(CONFIG_VENDOR)/include -type d), \
|
||||
-I$(d) \
|
||||
)
|
||||
INTERNAL_INCLUDES += $(foreach mod, $(MODULE_NAME) $(HDR_REFS), \
|
||||
$(foreach d, \
|
||||
$(shell [ -d $(TOP_DIR)/$(mod) ] && \
|
||||
find -L $(TOP_DIR)/$(mod)/ -type d \
|
||||
-a -name "[^.]*" \
|
||||
-not -path "*.git*"), \
|
||||
-I$(d) \
|
||||
) \
|
||||
)
|
||||
|
||||
# INTERNAL_INCLUDES += \
|
||||
$(foreach d, \
|
||||
$(shell find $(OUTPUT_DIR)/$(MODULE_NAME) -type d -a -name "[^.]*"), \
|
||||
-I$(d) \
|
||||
)
|
||||
|
||||
INTERNAL_INCLUDES := $(strip $(sort $(INTERNAL_INCLUDES)))
|
||||
|
||||
EXTERNAL_INCLUDES += $(foreach mod, $(DEPENDS), \
|
||||
$(foreach d, \
|
||||
$(shell $(SHELL_DBG) find \
|
||||
$(SYSROOT_INC)/$(mod)/ -maxdepth 2 -type d 2>/dev/null) \
|
||||
$(shell $(SHELL_DBG) find \
|
||||
$(IMPORT_VDRDIR)/include/$(mod)/ -maxdepth 2 -type d 2>/dev/null), \
|
||||
-I$(d) \
|
||||
) \
|
||||
)
|
||||
EXTERNAL_INCLUDES := $(strip $(EXTERNAL_INCLUDES))
|
||||
endif # ifneq ($(TOP_DIR),$(CURDIR))
|
||||
|
||||
ifeq (dynamic,$(strip $(CONFIG_LIB_EXPORT)))
|
||||
CFLAGS += -fPIC
|
||||
endif
|
||||
|
||||
#CFLAGS := $(sort $(strip $(CFLAGS)))
|
||||
|
||||
LDFLAGS += -L$(SYSROOT_LIB)
|
||||
ifeq (y,$(shell [ -e $(TOP_DIR)/$(IMPORT_VDRDIR)/$(PREBUILT_LIBDIR) ] && echo y))
|
||||
LDFLAGS += -L$(TOP_DIR)/$(IMPORT_VDRDIR)/$(PREBUILT_LIBDIR)
|
||||
endif
|
||||
|
||||
LDFLAGS += $(foreach d,$(DEPENDS_$(MODULE_NAME)),$(REF_LDFLAGS_$(d)))
|
||||
|
||||
WATCHED_VARS = \
|
||||
TARGET \
|
||||
CFLAGS \
|
||||
CC \
|
||||
LDFLAGS \
|
||||
CURDIR \
|
||||
INTERNAL_INCLUDES \
|
||||
DEPENDS \
|
||||
MAKECMDGOALS \
|
||||
EXTERNAL_INCLUDES \
|
||||
LIBA_TARGET \
|
||||
LIBSO_TARGET \
|
||||
|
||||
ALL_TARGETS := $(TARGET) $(LIBSO_TARGET) $(LIBA_TARGET) $(firstword $(KMOD_TARGET))
|
||||
|
||||
ifneq (,$(strip $(PKG_SWITCH)))
|
||||
all: $(ALL_TARGETS)
|
||||
else
|
||||
all:
|
||||
$(Q)true
|
||||
endif
|
||||
|
||||
clean:
|
||||
$(Q)rm -f \
|
||||
$(strip \
|
||||
$(ALL_TARGETS) $(OBJS) $(LIB_OBJS) \
|
||||
$(OBJS:.o=.d) $(LIB_OBJS:.o=.d) \
|
||||
$(LIB_OBJS:.o=.gcno) $(LIB_OBJS:.o=.gcda) \
|
||||
) \
|
||||
*.o.e *.d *.o *.a *.so *.log *.gc*
|
||||
|
||||
%.o: %.c $(HD_MAKEFILE)
|
||||
@$(call Brief_Log,"CC")
|
||||
$(call Inspect_Env,$(WATCHED_VARS))
|
||||
$(Q) \
|
||||
set -o pipefail; \
|
||||
$(CC) -I$(CURDIR) \
|
||||
$(INTERNAL_INCLUDES) \
|
||||
$(EXTERNAL_INCLUDES) \
|
||||
$(CFLAGS) \
|
||||
-c -o $@ $<
|
||||
ifneq (,$(OBJCOPY_FLAGS))
|
||||
$(Q)$(OBJCOPY) $(OBJCOPY_FLAGS) $@
|
||||
endif
|
||||
|
||||
NODEP_LIST = \
|
||||
$(SYSROOT_INC)/git_version.h \
|
||||
$(SYSROOT_INC)/platform.h \
|
||||
$(SYSROOT_INC)/product.h \
|
||||
$(SYSROOT_INC)/product_config.h \
|
||||
|
||||
ifneq (,$(findstring gcc,$(CC)))
|
||||
ifeq (,$(filter modinfo,$(MAKECMDGOALS)))
|
||||
%.d: %.c
|
||||
@ \
|
||||
( \
|
||||
D=$$(dirname $<|$(SED) 's,$(TOP_DIR),$(OUTPUT_DIR),1'); \
|
||||
F=$$(basename $<); \
|
||||
mkdir -p $${D}; \
|
||||
$(CC) -MM -I$(CURDIR) \
|
||||
$(INTERNAL_INCLUDES) \
|
||||
$(EXTERNAL_INCLUDES) \
|
||||
$(CFLAGS) \
|
||||
$< > $${D}/$${F}.$$$$; \
|
||||
$(SED) -i 's!$(shell basename $*)\.o[ :]!$*.o:!1' $${D}/$${F}.$$$$; \
|
||||
mv $${D}/$${F}.$$$$ $@; \
|
||||
)
|
||||
endif
|
||||
endif
|
||||
|
||||
%.o: %.cpp
|
||||
@$(call Brief_Log,"CC")
|
||||
$(call Inspect_Env,$(WATCHED_VARS))
|
||||
$(Q)$(CXX) -I$(CURDIR) \
|
||||
$(INTERNAL_INCLUDES) \
|
||||
$(EXTERNAL_INCLUDES) \
|
||||
$(CFLAGS) \
|
||||
-c -o $@ $<
|
||||
|
||||
ifneq (,$(findstring gcc,$(CC)))
|
||||
%.d: %.cpp
|
||||
@ \
|
||||
$(CXX) -MM -I$(CURDIR) \
|
||||
$(INTERNAL_INCLUDES) \
|
||||
$(EXTERNAL_INCLUDES) \
|
||||
$(CFLAGS) \
|
||||
$< > $@.$$$$; \
|
||||
$(foreach D,$(NODEP_LIST),$(SED) -i 's,$(D),,g' $@.$$$$;) \
|
||||
$(SED) 's,\($*\)\.o[ :]*,\1.o $@: ,g' < $@.$$$$ > $@; \
|
||||
rm -f $@.$$$$;
|
||||
endif
|
||||
|
||||
include $(RULE_DIR)/_rules-libs.mk
|
||||
include $(RULE_DIR)/_rules-prog.mk
|
||||
include $(RULE_DIR)/_rules-kmod.mk
|
35
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-kmod.mk
vendored
Normal file
35
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-kmod.mk
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
ifdef KMOD_TARGET
|
||||
KMOD_NAME := $(subst .o,,$(obj-m))
|
||||
KMOD_OBJS := $(foreach mod, $(KMOD_NAME), $($(mod)-objs))
|
||||
KMOD_SRCS := $(subst .o,.c,$(KMOD_OBJS))
|
||||
KMOD_BUILD_DIR := $(CURDIR)/build-$(shell $(SHELL_DBG) basename $(CURDIR))-kmod
|
||||
KMOD_MAKEFILE := $(KMOD_BUILD_DIR)/Makefile
|
||||
|
||||
$(firstword $(KMOD_TARGET)): $(KMOD_SRCS)
|
||||
$(Q)rm -rf $(KMOD_BUILD_DIR) && mkdir -p $(KMOD_BUILD_DIR)
|
||||
$(Q)cp -f $(KMOD_SRCS) $(KMOD_BUILD_DIR)
|
||||
$(Q)echo "EXTRA_CFLAGS += " \
|
||||
"-I$(CURDIR)" \
|
||||
"$(INTERNAL_INCLUDES)" \
|
||||
| $(SED) 's/-I/\\\n -I/g' \
|
||||
>> $(KMOD_MAKEFILE)
|
||||
$(Q)echo "" >> $(KMOD_MAKEFILE)
|
||||
$(Q)echo "obj-m := $(obj-m)" >> $(KMOD_MAKEFILE)
|
||||
$(Q)echo "" >> $(KMOD_MAKEFILE)
|
||||
$(Q) \
|
||||
$(foreach mod, $(KMOD_NAME), \
|
||||
echo "$(mod)-objs := $($(mod)-objs)" \
|
||||
| $(SED) 's/ [_a-z]*\.o/ \\\n &/g' \
|
||||
>> $(KMOD_MAKEFILE); \
|
||||
echo "" >> $(KMOD_MAKEFILE); \
|
||||
)
|
||||
@$(call Brief_Log,"CC",$(KMOD_TARGET))
|
||||
$(Q) \
|
||||
LDFLAGS=""; \
|
||||
$(MAKE) -C $(KERNEL_DIR) M=$(KMOD_BUILD_DIR) CROSS_COMPILE=$(CROSS_PREFIX) modules
|
||||
$(Q)cp -f $(KMOD_BUILD_DIR)/*.ko $(CURDIR)
|
||||
$(Q)mkdir -p $(SYSROOT_LIB)
|
||||
$(Q)install -m 0755 $(KMOD_BUILD_DIR)/*.ko $(SYSROOT_LIB)
|
||||
|
||||
endif # ifdef KMOD_TARGET
|
||||
|
102
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-libs.mk
vendored
Normal file
102
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-libs.mk
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
ifndef LIBA_TARGET
|
||||
ifndef LIBSO_TARGET
|
||||
LIB_SRCS :=
|
||||
endif
|
||||
endif
|
||||
|
||||
VPATH := $(TOP_DIR)/$(MODULE_NAME)
|
||||
LIB_SRCS ?= $(foreach M,*.c */*.c */*/*.c,$(wildcard $(TOP_DIR)/$(MODULE_NAME)/$(M))) $(wildcard *.c)
|
||||
|
||||
.PHONY : cmake
|
||||
|
||||
cmake:
|
||||
|
||||
$(Q)$(foreach V,$(INFO_ENV_VARS),$(subst -,_,$(V))="$($(V))") \
|
||||
$(foreach V,$(TARGET),$(subst -,_,SRCS_$(V))="$(SRCS_$(V))") \
|
||||
bash $(if $(TOP_Q),,-x) $(RULE_DIR)/scripts/gen_sub_cmake.sh $(TOP_DIR)/${MODULE_NAME}/CMakeLists.txt
|
||||
|
||||
ifdef Extra_CMake_Head
|
||||
@rm -f $(OUTPUT_DIR)/$(STAMP_CMAKE)
|
||||
@$(call Extra_CMake_Head, >> $(OUTPUT_DIR)/$(STAMP_CMAKE))
|
||||
@cat $(TOP_DIR)/${MODULE_NAME}/CMakeLists.txt >> $(OUTPUT_DIR)/$(STAMP_CMAKE)
|
||||
@$(call Extra_CMake_Foot, >> $(OUTPUT_DIR)/$(STAMP_CMAKE))
|
||||
@mv $(OUTPUT_DIR)/$(STAMP_CMAKE) $(TOP_DIR)/${MODULE_NAME}/CMakeLists.txt
|
||||
endif
|
||||
|
||||
ifdef LIB_SRCS_PATTERN
|
||||
SRC_LIST := $(foreach M,$(LIB_SRCS_PATTERN),$(shell ls $(TOP_DIR)/$(MODULE_NAME)/$(M) 2>/dev/null))
|
||||
LIB_SRCS := $(SRC_LIST)
|
||||
endif
|
||||
|
||||
LIB_SRCS := $(filter-out $(foreach M,$(LIB_SRCS_EXCLUDE),$(TOP_DIR)/$(MODULE_NAME)/$(M)),$(LIB_SRCS))
|
||||
LIB_OBJS := $(LIB_SRCS:.c=.o)
|
||||
LIB_OBJS := $(subst $(TOP_DIR)/$(MODULE_NAME)/,,$(LIB_OBJS))
|
||||
|
||||
sinclude $(LIB_OBJS:.o=.d)
|
||||
|
||||
ifdef LIBA_TARGET
|
||||
.PHONY: StaticLib_Install
|
||||
|
||||
ifeq (1,$(words $(LIBA_TARGET)))
|
||||
|
||||
$(LIBA_TARGET) :: $(LIB_OBJS)
|
||||
@$(call Brief_Log,"AR")
|
||||
$(call Inspect_Env,$(WATCHED_VARS))
|
||||
$(Q)rm -f $@
|
||||
ifdef CONFIG_LIBOBJ_STRIP
|
||||
@$(call Brief_Log,"ST")
|
||||
$(TOP_Q)$(STRIP) $(STRIP_DBGOPT) $(LIB_OBJS)
|
||||
endif
|
||||
$(TOP_Q) \
|
||||
if [ "$$(echo "$(LIB_OBJS)"|awk '{ print NF }')" != "0" ]; then \
|
||||
$(AR) -rcs $@ $(LIB_OBJS); \
|
||||
fi
|
||||
|
||||
$(LIBA_TARGET) :: StaticLib_Install
|
||||
$(Q)mkdir -p $(LIBOBJ_TMPDIR)/$(MODULE_NAME)
|
||||
ifneq (,$(strip $(LIB_OBJS)))
|
||||
ifneq ($(LIBA_TARGET),$(LIBA_SKIP_COMBO))
|
||||
$(Q)cp -f $(LIB_OBJS) $(LIBOBJ_TMPDIR)/$(MODULE_NAME) 2>/dev/null || true
|
||||
endif
|
||||
endif
|
||||
$(Q)mkdir -p $(SYSROOT_LIB)
|
||||
$(Q)if [ -f $@ ]; then cp -f $@ $(SYSROOT_LIB); fi
|
||||
$(call Copy_Headers, $(LIB_HEADERS),$(SYSROOT_INC),$(LIB_HDRS_DIR))
|
||||
|
||||
else
|
||||
|
||||
$(foreach t,$(sort $(LIBA_TARGET)),$(t)): FORCE
|
||||
$(Q) \
|
||||
$(MAKE) LIBA_TARGET=$@ \
|
||||
LIB_SRCS="$(LIB_SRCS_$(subst .a,,$(subst lib,,$@)))" \
|
||||
LIB_SRCS_PATTERN="$(LIB_SRCS_PATTERN_$(subst .a,,$(subst lib,,$@)))" \
|
||||
|
||||
|
||||
endif # ifeq (1,$(words $(LIBA_TARGET)))
|
||||
|
||||
endif # ifdef LIBA_TARGET
|
||||
|
||||
ifdef LIBSO_TARGET
|
||||
.PHONY: DynamicLib_Install
|
||||
|
||||
$(LIBSO_TARGET) :: SELF_LIBNAME = $(subst lib,,$(subst .so,,$(LIBSO_TARGET)))
|
||||
$(LIBSO_TARGET) :: LDFLAGS := $(filter-out -l$(SELF_LIBNAME), $(LDFLAGS))
|
||||
$(LIBSO_TARGET) :: $(LIB_OBJS) $(foreach d,$(DEPENDS_$(MODULE_NAME)),$(SYSROOT_LIB)/$(LIBA_TARGET_$(d)))
|
||||
@$(call Brief_Log,"CC")
|
||||
$(call Inspect_Env,$(WATCHED_VARS))
|
||||
$(Q)$(CC) -shared -Os \
|
||||
$(CFLAGS) \
|
||||
$(RPATH_CFLAGS) \
|
||||
-o $@ \
|
||||
$(LIB_OBJS) \
|
||||
-Wl,--start-group $(LDFLAGS) -Wl,--end-group
|
||||
|
||||
$(LIBSO_TARGET) :: DynamicLib_Install
|
||||
$(Q)mkdir -p $(LIBOBJ_TMPDIR)/$(shell $(SHELL_DBG) basename $(CURDIR))
|
||||
$(Q)cp -f $(LIB_OBJS) $(LIBOBJ_TMPDIR)/$(shell $(SHELL_DBG) basename $(CURDIR))
|
||||
$(Q)mkdir -p $(SYSROOT_LIB)
|
||||
$(Q)install -m 0755 $@ $(SYSROOT_LIB)
|
||||
$(call Copy_Headers, $(LIB_HEADERS),$(SYSROOT_INC),$(LIB_HDRS_DIR))
|
||||
|
||||
endif # ifdef LIBSO_TARGET
|
||||
|
58
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-modinfo.mk
vendored
Normal file
58
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-modinfo.mk
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
.PHONY: modinfo
|
||||
|
||||
modinfo:
|
||||
@true
|
||||
|
||||
MODINFO_VARS := \
|
||||
EXTRA_SRCS \
|
||||
PKG_SWITCH \
|
||||
ORIGIN \
|
||||
PKG_SOURCE \
|
||||
PKG_BRANCH \
|
||||
PKG_REVISION \
|
||||
PKG_UPSTREAM \
|
||||
REF_CFLAGS \
|
||||
REF_LDFLAGS \
|
||||
LDFLAGS \
|
||||
LIBA_TARGET \
|
||||
LIB_OBJS \
|
||||
TARGET \
|
||||
LIBSO_TARGET \
|
||||
|
||||
ifneq (,$(CONFIG_$(MODULE_NAME)))
|
||||
$(if $(filter modinfo,$(MAKECMDGOALS)), \
|
||||
$(if $(strip $(DEPENDS)), \
|
||||
$(info DEPENDS_$(MODULE_NAME) = $(strip $(DEPENDS))) \
|
||||
$(info CONFIG_$(MODULE_NAME) = $(CONFIG_$(MODULE_NAME))) \
|
||||
) \
|
||||
)
|
||||
|
||||
$(if $(filter modinfo,$(MAKECMDGOALS)), \
|
||||
$(foreach v, $(MODINFO_VARS), \
|
||||
$(if $(strip $($(v))), \
|
||||
$(info $(v)_$(MODULE_NAME) = $(strip $($(v)))) \
|
||||
) \
|
||||
) \
|
||||
)
|
||||
|
||||
ifeq (0,$(words $(TARGET)))
|
||||
else
|
||||
ifeq (1,$(words $(TARGET)))
|
||||
|
||||
$(if $(filter modinfo,$(MAKECMDGOALS)), \
|
||||
$(info SRCS_$(TARGET) = $(if $(SRCS_$(TARGET)), \
|
||||
$(subst $(TOP_DIR)/,,$(SRCS_$(TARGET))), \
|
||||
$(subst $(TOP_DIR)/$(MODULE_NAME)/,,$(SRCS)))) \
|
||||
)
|
||||
|
||||
else
|
||||
|
||||
$(if $(filter modinfo,$(MAKECMDGOALS)), \
|
||||
$(foreach v, $(TARGET), \
|
||||
$(info SRCS_$(v) = $(SRCS_$(v))) \
|
||||
) \
|
||||
)
|
||||
|
||||
endif
|
||||
endif
|
||||
endif
|
120
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-origin.mk
vendored
Normal file
120
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-origin.mk
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
CFLAGS := $(filter-out -Werror,$(CFLAGS))
|
||||
LDFLAGS :=
|
||||
|
||||
.PHONY: config build install post-install
|
||||
|
||||
ORIGIN_Q ?= @
|
||||
ifeq ($(strip $(PKG_SWITCH)),y)
|
||||
all :
|
||||
ifeq ($(PKG_SOURCE),)
|
||||
$(error PKG_SOURCE for $(PKG_NAME) cannot be found!)
|
||||
endif
|
||||
|
||||
$(ORIGIN_Q) \
|
||||
MESSAGE=$(strip $(if $(filter 0 1,$(MAKELEVEL)), \
|
||||
"\r$(PKG_NAME) already pre-built at $(IMPORT_VDRDIR)/$(PREBUILT_LIBDIR)\n","")); \
|
||||
if [ "$(LIBA_TARGET)" != "" -a -f $(IMPORT_VDRDIR)/$(PREBUILT_LIBDIR)/$(LIBA_TARGET) ] || \
|
||||
[ "$(LIBSO_TARGET)" != "" -a -f $(IMPORT_VDRDIR)/$(PREBUILT_LIBDIR)/$(LIBSO_TARGET) ]; then \
|
||||
echo -ne $${MESSAGE}; \
|
||||
cp -P -f $(IMPORT_VDRDIR)/$(PREBUILT_LIBDIR)/{$(LIBA_TARGET),$(LIBSO_TARGET)*} \
|
||||
$(SYSROOT_LIB) 2>/dev/null; \
|
||||
for t in $(TARGET); do \
|
||||
cp -f $(IMPORT_VDRDIR)/$(PREBUILT_BINDIR)/$${t} $(SYSROOT_BIN); \
|
||||
done; \
|
||||
touch $(STAMP_SHIELD); \
|
||||
fi
|
||||
|
||||
$(ORIGIN_Q) \
|
||||
MESSAGE=$(if $(filter 0 1,$(MAKELEVEL)),"\r$(PKG_NAME) already unpacked\n",""); \
|
||||
if [ -f $(STAMP_SHIELD) ]; then true; \
|
||||
elif [ -f $(STAMP_UNPACK) ]; then \
|
||||
echo -ne $${MESSAGE}; \
|
||||
else \
|
||||
rm -rf $(PKG_NAME)* && \
|
||||
if [ -f $(PKG_SOURCE) ]; then \
|
||||
tar xf $(PKG_SOURCE) -C . && \
|
||||
for i in $(wildcard *.patch); do \
|
||||
cd $(PKG_NAME)* && patch -d . -p 1 < ../$${i} && cd $${OLDPWD}; \
|
||||
done \
|
||||
fi \
|
||||
&& touch $(STAMP_UNPACK); \
|
||||
fi
|
||||
|
||||
$(ORIGIN_Q) \
|
||||
MESSAGE=$(if $(filter 0 1,$(MAKELEVEL)),"\r$(PKG_NAME) already configured\n",""); \
|
||||
if [ -f $(STAMP_SHIELD) ]; then true; \
|
||||
elif [ -f $(STAMP_CONFIG) ]; then \
|
||||
echo -ne $${MESSAGE}; \
|
||||
else \
|
||||
if grep -q 'config *:' $(HD_MAKEFILE); then \
|
||||
export SHELL=$(SHELL); \
|
||||
$(MAKE) config -f $(HD_MAKEFILE); \
|
||||
else \
|
||||
cd $(PKG_NAME)* && ( \
|
||||
./configure \
|
||||
--prefix=$(OUTPUT_DIR)/usr \
|
||||
--host=$(HOST) \
|
||||
--target=$(shell $(SHELL_DBG) basename $(CROSS_PREFIX) 2>/dev/null) \
|
||||
--enable-static --enable-shared \
|
||||
|| \
|
||||
./configure \
|
||||
--prefix=$(OUTPUT_DIR)/usr \
|
||||
--host=$(HOST) \
|
||||
--target=$(shell $(SHELL_DBG) basename $(CROSS_PREFIX) 2>/dev/null|cut -d'-' -f1) \
|
||||
--enable-static --enable-shared \
|
||||
) && cd $${OLDPWD}; \
|
||||
fi \
|
||||
&& touch $(STAMP_CONFIG); \
|
||||
fi
|
||||
|
||||
$(ORIGIN_Q) \
|
||||
MESSAGE=$(if $(filter 0 1,$(MAKELEVEL)),"\r$(PKG_NAME) already built\n",""); \
|
||||
if [ -f $(STAMP_SHIELD) ]; then true; \
|
||||
elif [ -f $(STAMP_BUILD) ]; then \
|
||||
echo -ne $${MESSAGE}; \
|
||||
else \
|
||||
if grep -q 'build *:' $(HD_MAKEFILE); then \
|
||||
$(MAKE) build -f $(HD_MAKEFILE); \
|
||||
else \
|
||||
if [ -d $(PKG_NAME)* ]; then \
|
||||
cd $(PKG_NAME)* && $(MAKE) -j8 all && cd ..; \
|
||||
fi \
|
||||
fi \
|
||||
&& touch $(STAMP_BUILD); \
|
||||
fi
|
||||
|
||||
$(ORIGIN_Q) \
|
||||
MESSAGE=$(if $(filter 0 1,$(MAKELEVEL)),"\r$(PKG_NAME) already installed\n",""); \
|
||||
if [ -f $(STAMP_SHIELD) ]; then true; \
|
||||
elif [ -f $(STAMP_INSTALL) ]; then \
|
||||
echo -ne $${MESSAGE}; \
|
||||
else \
|
||||
if grep -q 'install *:' $(HD_MAKEFILE); then \
|
||||
$(MAKE) install -f $(HD_MAKEFILE); \
|
||||
else \
|
||||
if [ -d $(PKG_NAME)* ]; then \
|
||||
cd $(PKG_NAME)* && $(MAKE) install && cd ..; \
|
||||
fi \
|
||||
fi \
|
||||
&& touch $(STAMP_INSTALL); \
|
||||
fi
|
||||
|
||||
$(ORIGIN_Q) \
|
||||
MESSAGE=$(if $(filter 0 1,$(MAKELEVEL)),"\r$(PKG_NAME) already post-installed\n",""); \
|
||||
if [ -f $(STAMP_POSTINS) ]; then \
|
||||
echo -ne $${MESSAGE}; \
|
||||
else \
|
||||
if grep -q 'post-install *:' $(HD_MAKEFILE); then \
|
||||
$(MAKE) post-install -f $(HD_MAKEFILE); \
|
||||
fi \
|
||||
&& touch $(STAMP_POSTINS); \
|
||||
fi
|
||||
|
||||
clean-prepare:
|
||||
$(Q)rm -f $(STAMP_BUILD) $(STAMP_INSTALL) $(STAMP_POSTINS)
|
||||
else
|
||||
all:
|
||||
$(Q)true
|
||||
clean:
|
||||
$(Q)true
|
||||
endif # ifeq ($(strip $(PKG_SWITCH)),y)
|
25
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-prefix.mk
vendored
Normal file
25
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-prefix.mk
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
ifeq (,$(findstring llvm,$(CC)))
|
||||
CFLAGS := "$(sort $(CFLAGS) $(CONFIG_ENV_CFLAGS))"
|
||||
else
|
||||
CFLAGS := "$(CFLAGS) $(CONFIG_ENV_CFLAGS)"
|
||||
endif
|
||||
|
||||
LDFLAGS := $(sort $(LDFLAGS) $(CONFIG_ENV_LDFLAGS))
|
||||
|
||||
ifeq (dynamic,$(CONFIG_LIB_EXPORT))
|
||||
CFLAGS := $(filter-out --coverage,$(CFLAGS))
|
||||
endif
|
||||
|
||||
MAKE_ENV_VARS := \
|
||||
$(foreach v, \
|
||||
$(shell grep -o 'CONFIG_ENV_[_A-Z]*' $(CONFIG_TPL) 2>/dev/null), \
|
||||
$(subst CONFIG_ENV_,,$(v)) \
|
||||
)
|
||||
|
||||
# $(eval ...) causes '$' in CFLAGS lost
|
||||
MAKE_ENV_VARS := $(sort $(filter-out CFLAGS LDFLAGS,$(MAKE_ENV_VARS)))
|
||||
|
||||
$(foreach V, \
|
||||
$(MAKE_ENV_VARS), \
|
||||
$(eval export $(V) := $(sort $(CONFIG_ENV_$(V)))) \
|
||||
)
|
74
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-prog.mk
vendored
Normal file
74
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-prog.mk
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
ifeq (1,$(words $(TARGET)))
|
||||
SRCS := $(if $(SRCS_$(TARGET)),$(SRCS_$(TARGET)),$(SRCS))
|
||||
endif
|
||||
|
||||
VPATH := $(TOP_DIR)/$(MODULE_NAME)
|
||||
SRCS ?= $(foreach M,*.c */*.c */*/*.c,$(wildcard $(TOP_DIR)/$(MODULE_NAME)/$(M))) $(wildcard *.c)
|
||||
OBJS := $(SRCS:.c=.o)
|
||||
OBJS := $(subst $(TOP_DIR)/$(MODULE_NAME)/,,$(OBJS))
|
||||
|
||||
ifdef SRCS_PATTERN
|
||||
PROG_LIST := $(foreach M,$(SRCS_PATTERN),$(shell ls $(TOP_DIR)/$(MODULE_NAME)/$(M) 2>/dev/null))
|
||||
SRCS := $(PROG_LIST)
|
||||
OBJS := $(PROG_LIST:.c=.o)
|
||||
OBJS := $(subst $(TOP_DIR)/$(MODULE_NAME)/,,$(OBJS))
|
||||
endif
|
||||
|
||||
ifdef TARGET
|
||||
|
||||
ifneq (modinfo,$(MAKECMDGOALS))
|
||||
ifneq (clean,$(MAKECMDGOALS))
|
||||
sinclude $(OBJS:.o=.d)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef LIBA_TARGET
|
||||
$(TARGET): $(LIBA_TARGET)
|
||||
|
||||
ifeq (,$(filter $(MODULE_NAME),$(COMP_LIB_COMPONENTS)))
|
||||
LDFLAGS := -l$(subst .a,,$(subst lib,,$(LIBA_TARGET))) $(LDFLAGS)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef LIBSO_TARGET
|
||||
$(TARGET): $(LIBSO_TARGET)
|
||||
|
||||
LDFLAGS := -l$(subst .so,,$(subst lib,,$(LIBSO_TARGET))) $(LDFLAGS)
|
||||
endif
|
||||
|
||||
LDFLAGS += $(sort $(CONFIG_ENV_LDFLAGS))
|
||||
|
||||
ifneq (,$(filter %.cpp %.cc,$(SRCS)))
|
||||
CCLD := $(CXX)
|
||||
else
|
||||
CCLD := $(CC)
|
||||
endif
|
||||
|
||||
ifeq (1,$(words $(TARGET)))
|
||||
|
||||
$(TARGET): $(OBJS) FORCE
|
||||
$(call Inspect_Env,$(WATCHED_VARS))
|
||||
$(Q)$(MAKE) comp-lib 2>/dev/null || true
|
||||
$(Q) \
|
||||
( \
|
||||
if [ "$(strip $(CC))" = "gcc" -o "$(strip $(CC))" = "i686-w64-mingw32-gcc" ] \
|
||||
|| [ "$(filter -D_PLATFORM_IS_LINUX_,$(CFLAGS))" != "" ] \
|
||||
|| [ "$(filter -D_PLATFORM_IS_WINDOWS_,$(CFLAGS))" != "" ]; then \
|
||||
$(call Brief_Log,"LD"); \
|
||||
mkdir -p $(OUTPUT_DIR)${bindir}; \
|
||||
$(CCLD) $(CFLAGS) -o $@ \
|
||||
$(RPATH_CFLAGS) \
|
||||
$(OBJS) \
|
||||
$(LDFLAGS) && \
|
||||
cp -f $@ $(OUTPUT_DIR)${bindir}; \
|
||||
fi; \
|
||||
)
|
||||
|
||||
else
|
||||
|
||||
$(foreach t,$(sort $(TARGET)),$(t)): FORCE
|
||||
$(Q)$(MAKE) TARGET=$@ OBJS="$(SRCS_$@:.c=.o)"
|
||||
|
||||
endif
|
||||
|
||||
endif # ifdef TARGET
|
16
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-repo.mk
vendored
Normal file
16
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-repo.mk
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
OPS_CMDLINE_V := \
|
||||
PACKAGE_DIR \
|
||||
TOP_DIR \
|
||||
STAMP_BLD_VAR \
|
||||
|
||||
OPS_SCRIPT := \
|
||||
$(strip $(foreach V, $(OPS_CMDLINE_V), $(V)="$($(V))")) \
|
||||
$(SHELL) \
|
||||
$(RULE_DIR)/scripts/ops_repository.sh \
|
||||
$(STAMP_BLD_VAR)
|
||||
|
||||
repo-list: config
|
||||
$(TOP_Q)$(OPS_SCRIPT) list
|
||||
|
||||
repo-update: config
|
||||
$(TOP_Q)$(OPS_SCRIPT) update
|
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
|
216
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-top.mk
vendored
Normal file
216
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/_rules-top.mk
vendored
Normal file
@@ -0,0 +1,216 @@
|
||||
.PHONY: doc detect config reconfig toolchain sub-mods final-out env cmake one help
|
||||
|
||||
all: detect config toolchain sub-mods final-out
|
||||
$(TOP_Q) \
|
||||
if [ -f $(STAMP_PRJ_CFG) ]; then \
|
||||
$(RECURSIVE_MAKE) toolchain; \
|
||||
rm -f $(STAMP_PRJ_CFG); \
|
||||
fi
|
||||
@rm -rf $(STAMP_DIR)
|
||||
|
||||
RESET_ENV_VARS := \
|
||||
CROSS_PREFIX \
|
||||
CFLAGS \
|
||||
HOST \
|
||||
LDFLAGS \
|
||||
|
||||
help:
|
||||
@echo -e "\033[1;37m[$(RULE_DIR)/docs]\e[0m"
|
||||
@echo ""
|
||||
@cat $(RULE_DIR)/docs/Help.md
|
||||
@echo ""
|
||||
|
||||
doc:
|
||||
$(TOP_Q)rm -rf $(DOXYGEN_DIR)/html; mkdir -p $(DOXYGEN_DIR)
|
||||
$(TOP_Q) \
|
||||
$(SED) \
|
||||
-e 's:^PROJECT_NAME.*:PROJECT_NAME = $(PRJ_NAME):g;' \
|
||||
-e 's:^PROJECT_NUMBER.*:PROJECT_NUMBER = $(PRJ_VERSION):g;' \
|
||||
-e 's:^OUTPUT_DIRECTORY.*:OUTPUT_DIRECTORY = $(DOXYGEN_DIR):g;' \
|
||||
build-rules/misc/Doxyfile.tpl > $(OUTPUT_DIR)/.doxygen.cfg
|
||||
$(TOP_Q)doxygen $(OUTPUT_DIR)/.doxygen.cfg
|
||||
|
||||
detect:
|
||||
@if [ -d .git ]; then \
|
||||
mkdir -p .git/hooks; \
|
||||
for i in $(RULE_DIR)/hooks/*; do \
|
||||
cp -f $$i .git/hooks && chmod a+x .git/hooks/$$(basename $$i); \
|
||||
done; \
|
||||
fi
|
||||
|
||||
prune:
|
||||
@echo "$(TOP_DIR).pkgs directory removed!"|grep --color ".*"
|
||||
@rm -rf $(TOP_DIR).pkgs
|
||||
@$(MAKE) --no-print-directory distclean
|
||||
|
||||
unzip: config $(STAMP_BLD_VAR)
|
||||
@echo "Components: "
|
||||
@echo ""
|
||||
@for i in $(ALL_SUB_DIRS); do \
|
||||
$(MAKE) --no-print-directory pre-build target-$${i} ; \
|
||||
echo -ne "\r. $${i}"; \
|
||||
echo -e " "; \
|
||||
done
|
||||
@echo ""
|
||||
|
||||
cmake:
|
||||
$(TOP_Q)$(MAKE) -s distclean
|
||||
$(TOP_Q)$(MAKE) -s DEFAULT_BLD=$(RULE_DIR)/misc/config.generic.cmake config
|
||||
$(TOP_Q)$(foreach V,$(INFO_ENV_VARS),$(V)="$($(V))") CFLAGS=$(CFLAGS) \
|
||||
SEP_LIBS="$$(grep -m 1 '^COMP_LIB_FILES' $(STAMP_BLD_ENV) | cut -d' ' -f3-)" \
|
||||
bash $(if $(TOP_Q),,-x) $(RULE_DIR)/scripts/gen_top_cmake.sh $(TOP_DIR)/CMakeLists.txt
|
||||
$(TOP_Q)for D in $(ALL_SUB_DIRS); do \
|
||||
echo "+ $${D}"; \
|
||||
$(MAKE) --no-print-directory -C $(OUTPUT_DIR)/$${D} cmake; \
|
||||
done
|
||||
$(TOP_Q)echo ""
|
||||
|
||||
one: COMP_LIB_OBJS = $(foreach V,$(COMP_LIB_COMPONENTS),$(foreach U,$(LIB_OBJS_$(V)),$(V)/$(U)))
|
||||
one:
|
||||
$(TOP_Q)$(foreach V,$(INFO_ENV_VARS),$(V)="$($(V))") \
|
||||
CFLAGS="$(subst ",,$(CFLAGS))" \
|
||||
ALL_LIBS="$(strip $(foreach V,$(SUBDIRS),$(LIBA_TARGET_$(V))))" \
|
||||
ALL_PROG="$(strip $(foreach V,$(SUBDIRS) $(COMP_LIB_COMPONENTS),$(TARGET_$(V))))" \
|
||||
COMP_LIB_OBJS="$(COMP_LIB_OBJS)" \
|
||||
bash $(RULE_DIR)/scripts/gen_one_makefile.sh
|
||||
|
||||
config:
|
||||
|
||||
@mkdir -p $(OUTPUT_DIR) $(STAMP_DIR) $(INSTALL_DIR)
|
||||
@mkdir -p $(SYSROOT_BIN) $(SYSROOT_INC) $(SYSROOT_LIB)
|
||||
|
||||
$(TOP_Q) \
|
||||
if [ -f $(STAMP_BLD_VAR) ]; then \
|
||||
if [ "$$($(SED) '/[-_/a-zA-Z0-9]* = *..*/d' $(STAMP_BLD_VAR)|wc -l|$(SED) 's:^ *::g')" != "0" ]; then \
|
||||
rm -vf $(STAMP_BLD_VAR); \
|
||||
fi \
|
||||
fi
|
||||
|
||||
$(TOP_Q)+( \
|
||||
if [ -f $(CONFIG_TPL) ]; then \
|
||||
if [ "$(filter comp-lib,$(MAKECMDGOALS))" = "" ]; then \
|
||||
printf "BUILDING WITH EXISTING CONFIGURATION:\n\n"; \
|
||||
command grep -m 1 "VENDOR *:" $(CONFIG_TPL)|cut -c 3-; \
|
||||
command grep -m 1 "MODEL *:" $(CONFIG_TPL)|cut -c 3-; \
|
||||
echo ""; \
|
||||
fi \
|
||||
else \
|
||||
if ([ "$(MAKECMDGOALS)" = "all" ]) || ([ "$(DEFAULT_BLD)" != "" ] && [ -f $(DEFAULT_BLD) ] && \
|
||||
([ "$(DEFAULT_BLD)" = "$(RULE_DIR)/misc/config.generic.default" ] \
|
||||
|| [ "$(MAKECMDGOALS)" = "" ] || [ "$(MAKECMDGOALS)" = "config" ])); then \
|
||||
printf "# Automatically Generated Section End\n\n" >> $(CONFIG_TPL); \
|
||||
printf "# %-10s %s\n" "VENDOR :" $$(basename $(DEFAULT_BLD)|cut -d. -f2) >> $(CONFIG_TPL); \
|
||||
printf "# %-10s %s\n" "MODEL :" $$(basename $(DEFAULT_BLD)|cut -d. -f3) >> $(CONFIG_TPL); \
|
||||
cat $(DEFAULT_BLD) >> $(CONFIG_TPL); \
|
||||
else \
|
||||
printf "SELECT A CONFIGURATION:\n\n"; \
|
||||
LIST=$$(for i in $(CONFIG_DIR)/config.*.*; do basename $${i}; done|sort); \
|
||||
select V in $${LIST}; do \
|
||||
echo ""; \
|
||||
printf "# Automatically Generated Section End\n\n" >> $(CONFIG_TPL); \
|
||||
printf "# %-10s %s\n" "VENDOR :" $$(echo $${V}|cut -d. -f2) >> $(CONFIG_TPL); \
|
||||
printf "# %-10s %s\n" "MODEL :" $$(echo $${V}|cut -d. -f3) >> $(CONFIG_TPL); \
|
||||
cp -f -P $(IMPORT_DIR)/$$(echo $${V}|cut -d. -f2)/$(PREBUILT_LIBDIR)/*.so* $(SYSROOT_LIB) 2>/dev/null; \
|
||||
cat $(CONFIG_DIR)/$${V} >> $(CONFIG_TPL); \
|
||||
break; \
|
||||
done; \
|
||||
fi && \
|
||||
printf "SELECTED CONFIGURATION:\n\n" && \
|
||||
command grep -m 1 "VENDOR *:" $(CONFIG_TPL)|cut -c 3- && \
|
||||
command grep -m 1 "MODEL *:" $(CONFIG_TPL)|cut -c 3- && \
|
||||
echo ""; \
|
||||
if [ "$(MAKECMDGOALS)" = "config" ]; then true; else \
|
||||
if [ "$(DEFAULT_BLD)" = "" ]; then \
|
||||
touch $(STAMP_PRJ_CFG); \
|
||||
fi; \
|
||||
fi; \
|
||||
for i in $(RESET_ENV_VARS); do unset $${i}; done; \
|
||||
$(MAKE) --no-print-directory -f $(TOP_MAKEFILE) $(STAMP_BLD_VAR) unzip; \
|
||||
fi)
|
||||
|
||||
@$(MAKE) --no-print-directory one
|
||||
|
||||
DL_TOOLCHAIN_VARS = \
|
||||
TOOLCHAIN_DLDIR \
|
||||
OUTPUT_DIR \
|
||||
|
||||
toolchain:
|
||||
@$(foreach V,$(DL_TOOLCHAIN_VARS),$(V)=$($(V))) \
|
||||
CC=$(shell basename $(CC)) \
|
||||
AR=$(shell basename $(AR)) \
|
||||
RELPATH=` $(call Relative_TcPath,$(shell basename $(CC))) ` \
|
||||
GITPATH=` $(call Gitrepo_TcPath,$(shell basename $(CC))) ` \
|
||||
bash $(RULE_DIR)/scripts/gen_cross_toolchain.sh
|
||||
|
||||
reconfig: distclean
|
||||
$(TOP_Q)+( \
|
||||
if [ -d $(CONFIG_DIR) ]; then \
|
||||
$(RECURSIVE_MAKE) config DEFAULT_BLD=not-exist-actually; \
|
||||
else \
|
||||
$(RECURSIVE_MAKE) config; \
|
||||
fi)
|
||||
$(TOP_Q)rm -f $(STAMP_PRJ_CFG)
|
||||
|
||||
clean:
|
||||
$(TOP_Q) \
|
||||
|
||||
$(TOP_Q) \
|
||||
rm -rf \
|
||||
$(LIBOBJ_TMPDIR) \
|
||||
$(COMPILE_LOG) \
|
||||
$(DIST_DIR)/* \
|
||||
$(STAMP_DIR) \
|
||||
$(STAMP_LCOV) \
|
||||
$(SYSROOT_INC)/* $(SYSROOT_LIB)/* $(SYSROOT_LIB)/../bin/* \
|
||||
$(shell $(SHELL_DBG) find $(OUTPUT_DIR) -name "$(COMPILE_LOG)" \
|
||||
-or -name "$(WARNING_LOG)" \
|
||||
-or -name "$(STAMP_BUILD)" \
|
||||
-or -name "$(STAMP_INSTALL)" \
|
||||
-or -name "$(STAMP_POSTINS)" \
|
||||
-or -name "*.so" \
|
||||
-or -name "*.a" \
|
||||
-or -name "*.o" \
|
||||
-or -name "*.d" \
|
||||
-or -name "*.gc*" \
|
||||
| grep -v '$(OUTPUT_DIR)/compiler' \
|
||||
2>/dev/null)
|
||||
|
||||
distclean:
|
||||
$(TOP_Q) \
|
||||
rm -rf \
|
||||
$(CONFIG_TPL) $(COMPILE_LOG) \
|
||||
$(STAMP_PRJ_CFG) $(STAMP_BLD_ENV) $(STAMP_BLD_VAR) $(STAMP_POST_RULE) $(STAMP_LCOV) \
|
||||
$(DIST_DIR) $(STAMP_DIR) *.gcda \
|
||||
|
||||
$(TOP_Q) \
|
||||
if [ -d $(OUTPUT_DIR) ]; then \
|
||||
cd $(OUTPUT_DIR); \
|
||||
if [ "$(CONFIG_TOOLCHAIN_NAME)" = "" ]; then \
|
||||
rm -rf *; \
|
||||
else \
|
||||
rm -rf $$(ls -I $(CONFIG_TOOLCHAIN_NAME)); \
|
||||
fi \
|
||||
fi
|
||||
|
||||
ifeq ($(shell uname),Darwin)
|
||||
KCONFIG_MCONF := tools/prebuilt/macos/kconfig-frontends-mac/kconfig-mconf
|
||||
else
|
||||
KCONFIG_MCONF := tools/prebuilt/ubuntu/bin/kconfig-mconf
|
||||
endif
|
||||
|
||||
COMMON_CONFIG_ENV = \
|
||||
KCONFIG_CONFIG=mconf.config \
|
||||
KCONFIG_AUTOCONFIG=$(OUTPUT_DIR)/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(OUTPUT_DIR)/autoconf.h \
|
||||
CONFIG_=FEATURE_ \
|
||||
|
||||
menuconfig: $(KCONFIG_MCONF)
|
||||
$(TOP_Q)chmod a+x $(KCONFIG_MCONF) $(if $(TOP_Q),2>/dev/null) || true
|
||||
$(TOP_Q)$(COMMON_CONFIG_ENV) $^ -s $(TOP_DIR)/tools/Config.in $(if $(TOP_Q),2>/dev/null)
|
||||
$(TOP_Q) \
|
||||
( \
|
||||
if [ ! -f mconf.config ]; then exit 0; fi; \
|
||||
\
|
||||
cp -Lf mconf.config make.settings; \
|
||||
rm -f mconf.config*; \
|
||||
)
|
14
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/docs/Help.md
vendored
Normal file
14
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/docs/Help.md
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
常用命令
|
||||
---
|
||||
|
||||
| 命令 | 解释 |
|
||||
|-----------------------|-----------------------------------------------------------------------------------|
|
||||
| `make distclean` | **清除一切编译过程产生的中间文件, 使当前目录仿佛和刚刚clone下来一样** |
|
||||
| `make` | **使用默认的或者已选中的平台配置文件开始编译** |
|
||||
| `make reconfig` | **弹出多平台选择菜单, 用户可按数字键选择, 然后根据相应的硬件平台配置开始编译** |
|
||||
| `make config` | **显示当前被选择的平台配置文件** |
|
||||
| `make menuconfig` | **图形化的编辑 make.settings 文件** |
|
||||
| `make help` | **打印帮助文本** |
|
||||
| `make env` | **打印当前编译的选项和它们的值** |
|
||||
|
||||
o 访问 https://code.aliyun.com/edward.yangx/public-docs/wikis/home 可获得编译系统线上最新和最全的帮助文档
|
259
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/funcs.mk
vendored
Normal file
259
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/funcs.mk
vendored
Normal file
@@ -0,0 +1,259 @@
|
||||
define Append_Conditional
|
||||
$(if $(strip $(foreach V,$(4),$(filter -D$(V),$(CFLAGS)))),, \
|
||||
$(if \
|
||||
$(if $(strip $(3)),,x)$(findstring $(foreach U,$(3),-D$(U)),$(foreach U,$(3),$(filter -D$(U),$(CFLAGS)))), \
|
||||
$(eval $(strip $(1)) += $(2)) \
|
||||
) \
|
||||
)
|
||||
endef
|
||||
|
||||
define Dump_Var
|
||||
NUM=`echo "$(strip $($(1)))"|awk '{ print NF }'`; \
|
||||
if (( $${NUM} \> 1 )); then \
|
||||
printf -- "-----------------------------------------------------------------\n"; \
|
||||
printf "%-24s| %s\n" ". $(1)" `echo "$(strip $($(1)))"|cut -d' ' -f1|$(SED) 's/^ *//'`; \
|
||||
for i in `echo "$(strip $($(1)))"|cut -d' ' -f2-`; do \
|
||||
printf "%-24s| %s\n" "" "$${i}"; \
|
||||
done; \
|
||||
printf -- "-----------------------------------------------------------------\n"; \
|
||||
else \
|
||||
printf "%-24s| %s\n" ". $(1)" "$(strip $($(1)))"; \
|
||||
fi;
|
||||
endef
|
||||
|
||||
ifneq (,$(Q))
|
||||
define Inspect_Env
|
||||
endef
|
||||
else
|
||||
define Inspect_Env
|
||||
@printf -- "-----------------------------------------------------------------\n"
|
||||
@printf "%-20s| %s\n" ". BUILDING_TARGET" "$@"
|
||||
@printf -- "-----------------------------------------------------------------\n"
|
||||
@printf "%-20s| %s\n" ". BUILDING_DEPEND" "$(filter-out FORCE,$^)"
|
||||
@printf -- "-----------------------------------------------------------------\n"
|
||||
@$(foreach var,$(1),$(call Dump_Var,$(var)))
|
||||
@printf -- "-----------------------------------------------------------------\n"
|
||||
endef
|
||||
endif
|
||||
|
||||
# 31, red. 32, green. 33, yellow. 34, blue. 35, magenta. 36, cyan. 37, white.
|
||||
define Brief_Log
|
||||
( \
|
||||
if [ "$1" = "CC" ]; then \
|
||||
if echo "$@"|grep -q "\.so$$"; then \
|
||||
COLOR_MARK="\033[1;32m"; \
|
||||
elif echo "$@"|grep -q "\.ko$$"; then \
|
||||
COLOR_MARK="\033[1;35m"; \
|
||||
else \
|
||||
COLOR_MARK="\033[1;36m"; \
|
||||
fi \
|
||||
elif [ "$1" = "AR" ]; then \
|
||||
COLOR_MARK="\033[1;33m"; \
|
||||
elif [ "$1" = "LD" ]; then \
|
||||
COLOR_MARK="\033[1;31m"; \
|
||||
elif [ "$1" = "ST" ]; then \
|
||||
COLOR_MARK="\033[0;33m"; \
|
||||
fi; \
|
||||
if [ "$(PLAIN_LOG)" != "1" ]; then \
|
||||
echo -ne "$${COLOR_MARK}"; \
|
||||
fi; \
|
||||
if [ "$2" = "" ]; then \
|
||||
FIRST_DEP="$(firstword $(filter-out FORCE,$?))"; \
|
||||
SPACE_BAR=" "; \
|
||||
if [ "$${FIRST_DEP}" != "" ]; then \
|
||||
FIRST_DEP="$$(basename $${FIRST_DEP})"; \
|
||||
fi; \
|
||||
printf "\r%-40s%s%s$(3)\n" "[$1] $$(echo -n "$$(basename $@)" | cut -c1-28)" "<= $${FIRST_DEP} $${SPACE_BAR}"; \
|
||||
else \
|
||||
printf "\r%-40s%s%s$(3)\n" "[$1] $$(echo -n "$(2)" | cut -c1-28)" "<= $${FIRST_DEP} $${SPACE_BAR}"; \
|
||||
fi; \
|
||||
if [ "$3" != "..." ]; then \
|
||||
for i in $(wordlist 2,150,$(filter-out FORCE,$?)); do \
|
||||
if [ "$$(echo $${i}|cut -c1)" != "/" ]; then \
|
||||
printf "%-40s%s$(3)\n" "" " $$(basename $${i})"; \
|
||||
fi \
|
||||
done; \
|
||||
fi; \
|
||||
if [ "$(PLAIN_LOG)" != "1" ]; then \
|
||||
echo -ne "\033[0m"; \
|
||||
fi; \
|
||||
)
|
||||
endef
|
||||
|
||||
define Copy_Headers
|
||||
$(Q) \
|
||||
if [ "$(strip $(1))" != "" ]; then \
|
||||
mkdir -p $(2)/$(3); \
|
||||
for hdr in $(1); do \
|
||||
if [ ! -f $(2)/$(3)/$${hdr} ] || [ $${PWD}/$${hdr} -nt $(2)/$(3)/$${hdr} ]; then \
|
||||
mkdir -p $(2)/$(3); \
|
||||
cp -f $(TOP_DIR)/$(MODULE_NAME)/$${hdr} $(2)/$(3)/$$(basename $${hdr}); \
|
||||
fi; \
|
||||
done \
|
||||
fi
|
||||
endef
|
||||
|
||||
define Update_Extra_Srcs
|
||||
( \
|
||||
for ELEM in $(strip $(1)); do \
|
||||
DST=$(OUTPUT_DIR)/$(2)/$$(basename $${ELEM}); \
|
||||
if [ $${ELEM} -nt $${DST} ]; then \
|
||||
cp -Lf $${ELEM} $${DST}; \
|
||||
fi; \
|
||||
done \
|
||||
)
|
||||
endef
|
||||
|
||||
define Require_Build
|
||||
( \
|
||||
SW=$$(grep -m 1 "^PKG_SWITCH_$(1) =" $(STAMP_BLD_VAR)|awk '{ print $$NF }'); \
|
||||
[ "$${SW}" != "y" ] && \
|
||||
echo "FALSE" && exit; set +x; \
|
||||
\
|
||||
[ "$(LIBA_TARGET_$(1))" != "" ] && \
|
||||
$(foreach L,$(LIBA_TARGET_$(1)),[ -f $(IMPORT_VDRDIR)/$(PREBUILT_LIBDIR)/$(L) ] && ) \
|
||||
echo "FALSE" && exit; \
|
||||
\
|
||||
[ "$(LIBSO_TARGET_$(1))" != "" ] && \
|
||||
[ -f $(IMPORT_VDRDIR)/$(PREBUILT_LIBDIR)/$(LIBSO_TARGET_$(1)) ] && \
|
||||
echo "FALSE" && exit; \
|
||||
\
|
||||
echo "TRUE"; \
|
||||
)
|
||||
endef
|
||||
|
||||
define Build_Depends
|
||||
( \
|
||||
set -o pipefail && \
|
||||
for i in $(DEPENDS_$(1)); do \
|
||||
STAMP=$(STAMP_DIR)/$$(echo $${i}|$(SED) 's:/:~:g').build.done; \
|
||||
if [ -f $${STAMP} ]; then \
|
||||
continue; \
|
||||
fi; \
|
||||
$(MAKE) --no-print-directory $${i} \
|
||||
$(if $(Q),,2>&1|tee -a $(OUTPUT_DIR)/$${i}/$(COMPILE_LOG)) \
|
||||
$(if $(Q),,2>&1|tee -a $(OUTPUT_DIR)/$(COMPILE_LOG)); \
|
||||
RETVAL=$$?; \
|
||||
if [ $${RETVAL} != 0 ]; then \
|
||||
exit $${RETVAL}; \
|
||||
fi; \
|
||||
done \
|
||||
\
|
||||
)
|
||||
endef
|
||||
|
||||
#
|
||||
# ($(foreach d,$(COMP_LIB_COMPONENTS), \
|
||||
#
|
||||
# $(RECURSIVE_MAKE) pre-build target-$(d) && \
|
||||
# $(MAKE) --no-print-directory -C $(OUTPUT_DIR)/$(d) $(LIBA_TARGET_$(d)) \
|
||||
# $(if $(Q),,2>&1|tee -a $(OUTPUT_DIR)/$(d)/$(COMPILE_LOG)) \
|
||||
# $(if $(Q),,2>&1|tee -a $(OUTPUT_DIR)/$(COMPILE_LOG)) \
|
||||
# ; \
|
||||
#
|
||||
# if [ $$? != 0 ]; then \
|
||||
#
|
||||
# KEEP SEPA-LIBS:
|
||||
#
|
||||
# rm -f $(SYSROOT_LIB)/$(firstword $(LIBA_TARGET_$(d))) $(SYSROOT_LIB)/$(firstword $(LIBSO_TARGET_$(d))) 2>/dev/null; \
|
||||
#
|
||||
|
||||
ifdef COMP_LIB
|
||||
define Build_CompLib
|
||||
( \
|
||||
if [ "$(strip $(1))" = "FORCE" ] || \
|
||||
[ "$$(echo $(LDFLAGS_$(strip $(1)))|grep -wo -- '-l$(COMP_LIB_NAME)')" != "" ]; then \
|
||||
( \
|
||||
$(foreach d,$(COMP_LIB_COMPONENTS), \
|
||||
[ -f $(STAMP_DIR)/$(subst /,~,$(d)).build.done ] || \
|
||||
set -o pipefail && \
|
||||
$(MAKE) --no-print-directory -C $(OUTPUT_DIR)/$(d) $(firstword $(LIBA_TARGET_$(d))) $(firstword $(LIBSO_TARGET_$(d))) && set +x; \
|
||||
RETVAL=$$?; \
|
||||
if [ $${RETVAL} != 0 ]; then \
|
||||
exit $${RETVAL}; \
|
||||
fi; \
|
||||
) \
|
||||
); \
|
||||
if [ ! -f $(SYSROOT_LIB)/$(COMP_LIB) ]; then \
|
||||
$(call Info_CompLib,$(COMP_LIB_NAME),$(COMP_LIB_OBJS)); \
|
||||
fi; \
|
||||
$(call Finalize_CompLib,$(COMP_LIB_OBJS),$(SYSROOT_LIB),$(COMP_LIB_NAME)); \
|
||||
fi \
|
||||
)
|
||||
endef
|
||||
else
|
||||
define Build_CompLib
|
||||
true
|
||||
endef
|
||||
endif
|
||||
|
||||
define Relative_TcPath
|
||||
( \
|
||||
case $(1) in \
|
||||
xtensa-lx106-elf-gcc ) \
|
||||
echo "gcc-xtensa-lx106-linux/main/bin" ;; \
|
||||
arm-none-eabi-gcc ) \
|
||||
echo "gcc-arm-none-eabi-linux/main/bin" ;; \
|
||||
esac \
|
||||
)
|
||||
endef
|
||||
|
||||
define Gitrepo_TcPath
|
||||
( \
|
||||
case $(1) in \
|
||||
xtensa-lx106-elf-gcc ) \
|
||||
echo "gcc-xtensa-lx106-linux" ;; \
|
||||
arm-none-eabi-gcc ) \
|
||||
echo "gcc-arm-none-eabi-linux" ;; \
|
||||
esac \
|
||||
)
|
||||
endef
|
||||
|
||||
define CompLib_Map
|
||||
$(eval \
|
||||
COMP_LIB_COMPONENTS += \
|
||||
$(if \
|
||||
$(filter y,$($(strip $(1)))),$(foreach M,$(strip $(2)),$(if $(filter $(strip $(M)),$(COMP_LIB_COMPONENTS)),,$(strip $(M)))) \
|
||||
) \
|
||||
)
|
||||
endef
|
||||
|
||||
OMIT_GOALS := distclean clean env help config reconfig menuconfig
|
||||
|
||||
ifeq (,$(filter $(OMIT_GOALS),$(MAKECMDGOALS)))
|
||||
define Conflict_Relation
|
||||
$(if $(filter y,$($(strip $(1)))), \
|
||||
$(if $(filter y,$($(strip $(2)))), \
|
||||
$(error INVALID CONFIG: '$(strip $(1)) = $($(strip $(1)))' conflicts with '$(strip $(2)) = $($(strip $(2)))' at same time!), \
|
||||
), \
|
||||
)
|
||||
endef
|
||||
|
||||
define Present1_Relation
|
||||
$(if $(filter n,$($(strip $(1)))), \
|
||||
$(if $(filter n,$($(strip $(2)))), \
|
||||
$(error INVALID CONFIG: '$(strip $(1)) = $($(strip $(1)))' conflicts with '$(strip $(2)) = $($(strip $(2)))' at same time!), \
|
||||
), \
|
||||
)
|
||||
endef
|
||||
|
||||
define Requires_Relation
|
||||
$(if $(filter y,$($(strip $(1)))), \
|
||||
$(if $(filter y,$($(strip $(2)))),, \
|
||||
$(error INVALID CONFIG: '$(strip $(2)) = $($(strip $(2)))' breaks dependency since '$(strip $(1)) = $($(strip $(1)))'!), \
|
||||
), \
|
||||
)
|
||||
endef
|
||||
|
||||
else # ifeq (,$(filter $(OMIT_GOALS),$(MAKECMDGOALS)))
|
||||
|
||||
define Conflict_Relation
|
||||
endef
|
||||
|
||||
define Present1_Relation
|
||||
endef
|
||||
|
||||
define Requires_Relation
|
||||
endef
|
||||
|
||||
endif # ifeq (,$(filter $(OMIT_GOALS),$(MAKECMDGOALS)))
|
23
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/hooks/pre-commit
vendored
Normal file
23
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/hooks/pre-commit
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# An example hook script to verify what is about to be committed.
|
||||
# Called by "git commit" with no arguments. The hook should
|
||||
# exit with non-zero status after issuing an appropriate message if
|
||||
# it wants to stop the commit.
|
||||
#
|
||||
# To enable this hook, rename this file to "pre-commit".
|
||||
|
||||
for i in `git status -s | awk '{ print $NF }'`; do
|
||||
j=$(echo $(basename $i)|cut -d'.' -f2)
|
||||
if [ "$j" = "c" -o "$j" = "h" -o "$j" = "md" -o "$j" = "mk" ] || [ "$i" = "makefile" -o "$i" = "make.settings" ]; then
|
||||
if [ "$(find $i -perm /111 2>/dev/null)" != "" ]; then
|
||||
chmod a-x $i
|
||||
echo "[chmod] $i"
|
||||
if [ "$(git status --short $i|cut -c1)" = "M" ]; then
|
||||
git add $i
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "[skip ] $i"
|
||||
fi
|
||||
done
|
2426
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/misc/Doxyfile.tpl
vendored
Normal file
2426
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/misc/Doxyfile.tpl
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,5 @@
|
||||
CONFIG_ENV_CFLAGS += \
|
||||
-Os -Wall \
|
||||
-D_PLATFORM_IS_HOST_ \
|
||||
|
||||
LDFLAGS += -lpthread -lrt
|
@@ -0,0 +1,2 @@
|
||||
CONFIG_ENV_CFLAGS += -Wall
|
||||
CONFIG_ENV_CFLAGS += --coverage
|
192
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/misc/cut.c
vendored
Normal file
192
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/misc/cut.c
vendored
Normal file
@@ -0,0 +1,192 @@
|
||||
#include "cut.h"
|
||||
|
||||
struct cut_runtime cut;
|
||||
|
||||
static char suite_pattern[64];
|
||||
static char case_pattern[64];
|
||||
|
||||
static void _filter(int argc, char **argv)
|
||||
{
|
||||
int i = 0;
|
||||
struct cut_case *c = NULL;
|
||||
if (argc == 2 && 0 == strcmp(argv[1], "all")) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < cut.ccnt_total; i++) {
|
||||
c = cut.clist[i];
|
||||
if ((argc == 2 && (0 != strcmp(c->sname, argv[1]))) ||
|
||||
(argc == 3 && (0 != strcmp(c->sname, argv[1]) || 0 != strcmp(c->cname, argv[2])))) {
|
||||
|
||||
if (!(argc == 2 && strlen(suite_pattern) && strstr(c->sname, suite_pattern))) {
|
||||
cut.clist[i]->skip = 1;
|
||||
cut.ccnt_skip++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void _usage(const char *me)
|
||||
{
|
||||
cut_printf("Usage: %s [OPTION] S-FILTER [C-FILTER]\n\n" \
|
||||
"OPTION:\n" \
|
||||
" --verbose: verbose when exec cases\n" \
|
||||
" --list: list cases\n" \
|
||||
" --count: print case count\n" \
|
||||
"\n" \
|
||||
"S-FILTER: suite name filter, e.g. '%s all' means run all suites\n" \
|
||||
"C-FILTER: case name filter\n", me, me);
|
||||
}
|
||||
|
||||
static int _verbose_opt = 0;
|
||||
static int _parse_arg(int argc, char **argv)
|
||||
{
|
||||
if (argc >= 2) {
|
||||
if (0 == strcmp(argv[1], "--list")) {
|
||||
int i = 0;
|
||||
int cnt = 0;
|
||||
for (i = 0; i < cut.ccnt_total; i++) {
|
||||
struct cut_case *c = cut.clist[i];
|
||||
if (argc == 2 ||
|
||||
(argc == 3 && 0 == strcmp(argv[2], "all")) ||
|
||||
(argc == 3 && 0 == strcmp(c->sname, argv[2])) ||
|
||||
(argc == 3 && strlen(suite_pattern) && strstr(c->sname, suite_pattern)) ||
|
||||
(argc == 4 && strlen(suite_pattern) && strlen(case_pattern) && strstr(c->sname, suite_pattern)
|
||||
&& strstr(c->cname, case_pattern)) ||
|
||||
(argc == 4 && 0 == strcmp(c->sname, argv[2]) && 0 == strcmp(c->cname, argv[3]))) {
|
||||
cut_printf(" [%02d] %s.%s\n", ++cnt, c->sname, c->cname);
|
||||
}
|
||||
}
|
||||
cut_printf("\n");
|
||||
cut_printf("In total %d case(s), matched %d case(s)\n", cut.ccnt_total, cnt);
|
||||
cut_printf("\n");
|
||||
return 0;
|
||||
}
|
||||
if (0 == strcmp(argv[1], "--count")) {
|
||||
cut_printf("total %d case(s).\n", cut.ccnt_total);
|
||||
return 0;
|
||||
}
|
||||
if (0 == strcmp(argv[1], "--help")) {
|
||||
_usage(argv[0]);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int cut_main(int argc, char **argv)
|
||||
{
|
||||
int i = 0, j = 0, cnt = 0;
|
||||
char tmpbuf[128];
|
||||
char *pos;
|
||||
|
||||
if (argc >= 2) {
|
||||
|
||||
int idx = 1;
|
||||
char *q = NULL;
|
||||
|
||||
if (!strcmp(argv[1], "--list") || !strncmp(argv[1], "--verbose", strlen("--verbose"))) {
|
||||
idx += 1;
|
||||
}
|
||||
|
||||
if (idx < argc) {
|
||||
|
||||
if ((q = strchr(argv[idx], '%')) != NULL) {
|
||||
strncpy(suite_pattern, argv[idx], q - argv[idx]);
|
||||
}
|
||||
idx += 1;
|
||||
if (idx < argc) {
|
||||
if ((q = strchr(argv[idx], '%')) != NULL) {
|
||||
strncpy(case_pattern, argv[idx], q - argv[idx]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (0 == _parse_arg(argc, argv)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (argc >= 2 && !strncmp(argv[1], "--verbose", strlen("--verbose"))) {
|
||||
_verbose_opt = 1;
|
||||
argc --;
|
||||
argv ++;
|
||||
}
|
||||
|
||||
_filter(argc, argv);
|
||||
|
||||
for (; i < cut.ccnt_total; i++) {
|
||||
pos = tmpbuf;
|
||||
|
||||
cut.ccur = cut.clist[i];
|
||||
if (cut.ccur->skip) {
|
||||
continue;
|
||||
}
|
||||
|
||||
memset(tmpbuf, 0, sizeof(tmpbuf));
|
||||
pos += cut_snprintf(pos,
|
||||
sizeof(tmpbuf),
|
||||
"TEST [%02d/%02d] %s.%s ",
|
||||
++cnt,
|
||||
cut.ccnt_total - cut.ccnt_skip,
|
||||
cut.ccur->sname,
|
||||
cut.ccur->cname);
|
||||
for (j = 80 - strlen(tmpbuf); j >= 0; --j) {
|
||||
pos += sprintf(pos, "%s", ".");
|
||||
}
|
||||
if (_verbose_opt) {
|
||||
pos += sprintf(pos, " [%sEXEC%s]\n", COL_YEL, COL_DEF);
|
||||
cut_printf("%s", tmpbuf);
|
||||
pos -= 19;
|
||||
}
|
||||
TRY {
|
||||
if (cut.ccur->setup)
|
||||
{
|
||||
cut.ccur->setup(cut.ccur->data, cut.ccur);
|
||||
}
|
||||
cut.ccur->run(cut.ccur->data, (struct cut_case *)cut.ccur);
|
||||
if (cut.ccur->teardown)
|
||||
{
|
||||
cut.ccur->teardown(cut.ccur->data);
|
||||
}
|
||||
|
||||
pos += sprintf(pos, " [%sSUCC%s]\n", COL_GRE, COL_DEF);
|
||||
cut_printf("%s", tmpbuf);
|
||||
|
||||
cut.ccnt_pass++;
|
||||
continue;
|
||||
}
|
||||
EXCEPT {
|
||||
|
||||
pos += sprintf(pos, " [%sFAIL%s]\n", COL_RED, COL_DEF);
|
||||
cut_printf("%s", tmpbuf);
|
||||
|
||||
cut.ccnt_fail++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
cut_printf("\n");
|
||||
cut_printf("===========================================================================\n");
|
||||
if (cut.ccnt_fail > 0) {
|
||||
cut_printf("FAIL LIST:\n");
|
||||
for (i = 0; i < cut.ccnt_fail; i++) {
|
||||
cut_printf(" [%02d] %s\n", i + 1, cut.cerrmsg[i]);
|
||||
cut_free(cut.cerrmsg[i]);
|
||||
}
|
||||
cut_printf("---------------------------------------------------------------------------\n");
|
||||
}
|
||||
cut_printf("SUMMARY:\n" \
|
||||
" TOTAL: %d\n" \
|
||||
" SKIPPED: %d\n" \
|
||||
" MATCHED: %d\n" \
|
||||
" PASS: %d\n" \
|
||||
" FAILED: %d\n", cut.ccnt_total, cut.ccnt_skip,
|
||||
cut.ccnt_total - cut.ccnt_skip, cut.ccnt_pass, cut.ccnt_fail);
|
||||
cut_printf("===========================================================================\n");
|
||||
|
||||
return cut.ccnt_fail;
|
||||
|
||||
}
|
||||
|
249
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/misc/cut.h
vendored
Normal file
249
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/misc/cut.h
vendored
Normal file
@@ -0,0 +1,249 @@
|
||||
#ifndef __CUT_H__
|
||||
#define __CUT_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <setjmp.h>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
|
||||
#define CUT_CASE_MAX_CNT (1024)
|
||||
#define CUT_MSG_MAX_LEN (512)
|
||||
|
||||
#define cut_printf printf
|
||||
#define cut_snprintf snprintf
|
||||
#define cut_malloc malloc
|
||||
#define cut_free free
|
||||
|
||||
#define CASE2 CASEs
|
||||
|
||||
extern int cut_main(int argc, char **argv);
|
||||
extern struct cut_runtime cut;
|
||||
|
||||
struct cut_case {
|
||||
const char *sname;
|
||||
const char *cname;
|
||||
void *data;
|
||||
void (*run)(void *, void *);
|
||||
void (*setup)(void *, void *);
|
||||
void (*teardown)(void *);
|
||||
int skip;
|
||||
};
|
||||
|
||||
struct cut_runtime {
|
||||
jmp_buf jmpbuf;
|
||||
int scnt_total;
|
||||
int ccnt_total;
|
||||
int ccnt_pass;
|
||||
int ccnt_fail;
|
||||
int ccnt_skip;
|
||||
struct cut_case *clist[CUT_CASE_MAX_CNT];
|
||||
struct cut_case *ccur;
|
||||
char *cerrmsg[CUT_CASE_MAX_CNT];
|
||||
};
|
||||
|
||||
#define CUT_CASE_RUNNER(sname, cname) cut_##sname##_##cname##_run
|
||||
#define CUT_CASE_NAME(sname, cname) cut_##sname##_##cname
|
||||
#define CUT_CASE_DATA(sname) cut_##sname##_data
|
||||
#define CUT_CASE_SETUP(sname) cut_##sname##_setup
|
||||
#define CUT_CASE_TEARDOWN(sname) cut_##sname##_teardown
|
||||
|
||||
#define DATA(sname) \
|
||||
struct CUT_CASE_DATA(sname)
|
||||
|
||||
#define SETUP(sname) \
|
||||
static void CUT_CASE_SETUP(sname)(struct CUT_CASE_DATA(sname) *data, struct cut_case *case_data)
|
||||
|
||||
#define TEARDOWN(sname) \
|
||||
static void CUT_CASE_TEARDOWN(sname)(struct CUT_CASE_DATA(sname) *data)
|
||||
|
||||
|
||||
/*
|
||||
* @brief: construct a test case structor and a test case runner
|
||||
* @sname: suite name
|
||||
* @cname: case name
|
||||
* e.g.
|
||||
CASE(mysuite, mycase1) {
|
||||
// do something here
|
||||
ASSERT_TRUE(1);
|
||||
}
|
||||
*/
|
||||
#define CASE(sname, cname) \
|
||||
static void CUT_CASE_RUNNER(sname, cname)(void *null, struct cut_case *case_data); \
|
||||
static struct cut_case CUT_CASE_NAME(sname, cname) = \
|
||||
{ \
|
||||
#sname, #cname, NULL, (void(*)(void*,void*))CUT_CASE_RUNNER(sname, cname), NULL, NULL, 0}; \
|
||||
static void CUT_CASE_RUNNER(sname, cname)(void *null, struct cut_case *case_data)
|
||||
|
||||
/*
|
||||
* @brief: construct a test case structor and a test case runner
|
||||
* with case_data/setup/teardown for each case.
|
||||
* @sname: suite name
|
||||
* @cname: case name
|
||||
* e.g.
|
||||
CASE_DATA(mysuite) {
|
||||
int errmsg;
|
||||
char *errcode;
|
||||
};
|
||||
|
||||
CASE_SETUP(mysuite) {
|
||||
data->errcode = 0;
|
||||
data->errmsg = (char*)malloc(100);
|
||||
}
|
||||
|
||||
CASE_TEARDOWN(mysuite) {
|
||||
if(data->errmsg) {
|
||||
free(data->errmsg);
|
||||
data->errmsg = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
CASEs(mysuite, mycase1) {
|
||||
data->errcode = 1;
|
||||
strcpy(data->errmsg, "timeout error");
|
||||
ASSERT_TRUE(1);
|
||||
}
|
||||
*/
|
||||
#define CASEs(sname, cname) \
|
||||
static struct CUT_CASE_DATA(sname) CUT_CASE_DATA(sname); \
|
||||
static void CUT_CASE_RUNNER(sname, cname)(struct CUT_CASE_DATA(sname) * data,struct cut_case *case_data); \
|
||||
static struct cut_case CUT_CASE_NAME(sname, cname) = \
|
||||
{ \
|
||||
#sname, #cname, &CUT_CASE_DATA(sname), (void(*)(void*,void*))CUT_CASE_RUNNER(sname, cname), \
|
||||
(void(*)(void*,void*))CUT_CASE_SETUP(sname), (void(*)(void*))CUT_CASE_TEARDOWN(sname), 0}; \
|
||||
\
|
||||
static void CUT_CASE_RUNNER(sname, cname)(struct CUT_CASE_DATA(sname) * data, struct cut_case *case_data)
|
||||
|
||||
/*
|
||||
* @brief: construct a test suite by adding test case(s)
|
||||
* @sname: suite name
|
||||
* e.g.
|
||||
SUITE(mysuite) = {
|
||||
ADD_CASE(mysuite, mycase1),
|
||||
ADD_CASE(mysuite, mycase2),
|
||||
ADD_CASE_NULL
|
||||
};
|
||||
*/
|
||||
#define SUITE(sname) struct cut_case *cut_suite_##sname[]
|
||||
|
||||
/*
|
||||
* @brief: add a test case into a test suite
|
||||
* @sname: suite name
|
||||
* @cname: case name
|
||||
*/
|
||||
#define ADD_CASE(sname, cname) &CUT_CASE_NAME(sname, cname)
|
||||
#define ADD_CASE_NULL (struct cut_case*)(NULL)
|
||||
|
||||
/*
|
||||
* @brief: add a test suite into case list
|
||||
* @sname: suite name
|
||||
*/
|
||||
#define ADD_SUITE(sname) \
|
||||
do { \
|
||||
int i = 0; \
|
||||
extern struct cut_case *cut_suite_##sname[]; \
|
||||
struct cut_case *c = cut_suite_##sname[i]; \
|
||||
if (cut.ccnt_total >= CUT_CASE_MAX_CNT) { \
|
||||
cut_printf("reaches maximum case count:%d\n", \
|
||||
CUT_CASE_MAX_CNT); \
|
||||
break; \
|
||||
} \
|
||||
while (c) { \
|
||||
*(cut.clist + cut.ccnt_total++) = c; \
|
||||
c = *(cut_suite_##sname + (++i)); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define TRY if (0 == setjmp(cut.jmpbuf))
|
||||
#define EXCEPT else
|
||||
#define RAISE_EXCEPTION_WITH_MSG(msg) \
|
||||
do { \
|
||||
int ret = 0, i = cut.ccnt_fail; \
|
||||
cut.cerrmsg[i] = (char*)cut_malloc(CUT_MSG_MAX_LEN); \
|
||||
assert(cut.cerrmsg[i] != NULL); \
|
||||
memset(cut.cerrmsg[i], 0, CUT_MSG_MAX_LEN); \
|
||||
ret = cut_snprintf(cut.cerrmsg[i], \
|
||||
CUT_MSG_MAX_LEN - 1, \
|
||||
"%s.%s in %s(%d) expected %s", \
|
||||
cut.ccur->sname, cut.ccur->cname, \
|
||||
__FILE__, __LINE__, msg); \
|
||||
if (ret >= CUT_MSG_MAX_LEN) \
|
||||
cut_snprintf(cut.cerrmsg[i] + CUT_MSG_MAX_LEN - 4, \
|
||||
4, "..."); \
|
||||
longjmp(cut.jmpbuf, 1); \
|
||||
} while (0)
|
||||
|
||||
#define ASSERT_TRUE(cond) \
|
||||
do { \
|
||||
if (!(cond)) \
|
||||
RAISE_EXCEPTION_WITH_MSG("[True]"); \
|
||||
} while (0)
|
||||
|
||||
#define ASSERT_INT(expected, compare, actual) \
|
||||
do { \
|
||||
if (!((expected)compare(actual))) \
|
||||
RAISE_EXCEPTION_WITH_MSG("[" #expected " " #compare " " #actual "]"); \
|
||||
} while (0)
|
||||
|
||||
#define ASSERT_STR(expected, compare, actual) \
|
||||
do { \
|
||||
if (!(strcmp((expected), (actual)) compare 0)) \
|
||||
RAISE_EXCEPTION_WITH_MSG("[" #expected " " #compare " " #actual "]"); \
|
||||
} while (0)
|
||||
|
||||
#define ASSERT_IN(expected1, actual, expected2) \
|
||||
do { \
|
||||
if ((actual) < (expected1) || (actual) > (expected2)) \
|
||||
RAISE_EXCEPTION_WITH_MSG("[" #expected1 " <= " #actual " <= " #expected2 "]"); \
|
||||
} while (0)
|
||||
|
||||
#define ASSERT_NSTR(expected, compare, actual, len) \
|
||||
do { \
|
||||
if (!(strncmp((expected), (actual), (len)) compare 0)) \
|
||||
RAISE_EXCEPTION_WITH_MSG("[" #expected " " #compare " " #actual "]"); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define ASSERT_FAIL() RAISE_EXCEPTION_WITH_MSG("[should not be here]")
|
||||
#define ASSERT_FALSE(cond) ASSERT_TRUE(!(cond))
|
||||
#define ASSERT_NULL(ptr) ASSERT_INT(ptr, ==, NULL)
|
||||
#define ASSERT_NOT_NULL(ptr) ASSERT_INT(ptr, !=, NULL)
|
||||
#define ASSERT_EQ(actual, expected) ASSERT_INT(actual, ==, expected)
|
||||
#define ASSERT_NE(actual, expected) ASSERT_INT(actual, !=, expected)
|
||||
#define ASSERT_GT(actual, expected) ASSERT_INT(actual, >, expected)
|
||||
#define ASSERT_GE(actual, expected) ASSERT_INT(actual, >=, expected)
|
||||
#define ASSERT_LT(actual, expected) ASSERT_INT(actual, <, expected)
|
||||
#define ASSERT_LE(actual, expected) ASSERT_INT(actual, <=, expected)
|
||||
#define ASSERT_STR_EQ(actual, expected) ASSERT_STR(actual, ==, expected)
|
||||
#define ASSERT_STR_NE(actual, expected) ASSERT_STR(actual, !=, expected)
|
||||
#define ASSERT_STR_GT(actual, expected) ASSERT_STR(actual, >, expected)
|
||||
#define ASSERT_STR_LT(actual, expected) ASSERT_STR(actual, <, expected)
|
||||
#define ASSERT_NSTR_EQ(actual, expected, len) ASSERT_NSTR(actual, ==, expected, len)
|
||||
#define ASSERT_NSTR_NE(actual, expected, len) ASSERT_NSTR(actual, !=, expected, len)
|
||||
#define ASSERT_NSTR_GT(actual, expected, len) ASSERT_NSTR(actual, >, expected, len)
|
||||
#define ASSERT_NSTR_LT(actual, expected, len) ASSERT_NSTR(actual, <, expected, len)
|
||||
|
||||
/*
|
||||
* see http://stackoverflow.com/questions/3585846/color-text-in-terminal-applications-in-unix
|
||||
*/
|
||||
#define COL_DEF "\x1B[0m"
|
||||
#define COL_RED "\x1B[1;31m"
|
||||
#define COL_GRE "\x1B[1;32m"
|
||||
#define COL_YEL "\x1B[1;33m"
|
||||
#define COL_BLU "\x1B[1;34m"
|
||||
#define COL_MAG "\x1B[1;35m"
|
||||
#define COL_CYN "\x1B[1;36m"
|
||||
#define COL_WHE "\x1B[1;37m"
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __CUT_H__ */
|
||||
|
194
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/pre-build.sh
vendored
Normal file
194
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/pre-build.sh
vendored
Normal file
@@ -0,0 +1,194 @@
|
||||
#! /bin/bash
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
SED=gsed
|
||||
else
|
||||
SED=sed
|
||||
fi
|
||||
|
||||
function Trace()
|
||||
{
|
||||
if [ "${VERBOSE_PRE_BLD}" != "" ]; then
|
||||
echo "$1" 1>&2
|
||||
fi
|
||||
}
|
||||
|
||||
function Update_Sources()
|
||||
{
|
||||
if [ -f ${BLD_DIR}/${STAMP_UNPACK} ]; then
|
||||
Trace "Skipped @ ${BLD_DIR}/${STAMP_UNPACK}"
|
||||
return 0
|
||||
fi
|
||||
if [ "${PKG_SWITCH}" = "" ]; then
|
||||
Trace "Warning @ CONFIG_${MODULE} = '${PKG_SWITCH}'"
|
||||
fi
|
||||
|
||||
Trace "MODULE_NAME: [${MODULE}]"
|
||||
Trace "SRC_DIR: [${SRC_DIR}]"
|
||||
Trace "BLD_DIR: [${BLD_DIR}]"
|
||||
Trace "PACKAGE_DIR: [${PACKAGE_DIR}]"
|
||||
Trace "PKG_SOURCE: [${PKG_SOURCE}]"
|
||||
Trace "PKG_BRANCH: [${PKG_BRANCH}]"
|
||||
Trace "PKG_REVISION: [${PKG_REVISION}]"
|
||||
Trace "PKG_UPSTREAM: [${PKG_UPSTREAM}]"
|
||||
|
||||
for i in $(find -L ${MODULE} -type d -not -path "*.git*"|${SED} "s,${MODULE}/*,,1"|${SED} '/^$/d'); do
|
||||
mkdir -p ${BLD_DIR}/${i}
|
||||
done
|
||||
|
||||
if [ "${PKG_SOURCE}" != "" ] && [ -d ${PACKAGE_DIR}/${PKG_SOURCE} ]; then
|
||||
GIT_BASENAME=$(basename ${PKG_SOURCE})
|
||||
GIT_NAME_LEN=$(echo -n "${GIT_BASENAME}"|wc -c|awk '{ print $1 }')
|
||||
GIT_OFFSET=$(( GIT_NAME_LEN - 3 ))
|
||||
GIT_MOD_NAME=$(echo "${GIT_BASENAME}" | cut -c"1-$(( GIT_OFFSET-1 ))"|awk '{ print $1 }')
|
||||
GIT_POSTFIX=$(echo "${GIT_BASENAME}" | cut -c"${GIT_OFFSET}-${GIT_NAME_LEN}"|awk '{ print $1 }')
|
||||
Trace "GIT_POSTFIX: [${GIT_POSTFIX}]"
|
||||
Trace "GIT_MOD_NAME: [${GIT_MOD_NAME}]"
|
||||
fi
|
||||
set +x
|
||||
|
||||
if [ "${GIT_POSTFIX}" = ".git" ]; then
|
||||
GIT_COPY=${MODULE}/${GIT_MOD_NAME}
|
||||
DEV_COPY_BASE=${TOP_DIR}.pkgs
|
||||
Trace "GIT_COPY: [${GIT_COPY}]"
|
||||
Trace "DEV_COPY_BASE: [${DEV_COPY_BASE}]"
|
||||
|
||||
eval "${CMDSET_X}"
|
||||
mkdir -p ${DEV_COPY_BASE}
|
||||
cd ${DEV_COPY_BASE}
|
||||
if [ ! -d ${GIT_MOD_NAME} ]; then
|
||||
git clone ${OPTION_Q} ${PACKAGE_DIR}/${PKG_SOURCE} ${GIT_MOD_NAME} \
|
||||
$([ "${PKG_BRANCH}" = "" ] || echo "-b ${PKG_BRANCH}")
|
||||
if [ "${PKG_UPSTREAM}" != "" ]; then
|
||||
cd ${GIT_MOD_NAME};
|
||||
git remote add upstream ${PKG_UPSTREAM}
|
||||
cd ${OLDPWD};
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${PKG_REVISION}" != "" ]; then
|
||||
cd ${GIT_MOD_NAME} && git reset ${OPTION_Q} --hard ${PKG_REVISION} && cd ${OLDPWD}
|
||||
else
|
||||
cd ${GIT_MOD_NAME}
|
||||
git pull ${OPTION_Q} origin ${PKG_BRANCH} || exit 1
|
||||
fi
|
||||
|
||||
cd ${TOP_DIR}
|
||||
rm -fr ${SRC_DIR}/${GIT_MOD_NAME}
|
||||
ln -sf ${DEV_COPY_BASE}/${GIT_MOD_NAME} ${SRC_DIR}/${GIT_MOD_NAME}
|
||||
touch ${BLD_DIR}/${STAMP_UNPACK}
|
||||
PKG_SOURCE=""
|
||||
set +x
|
||||
|
||||
SRC_ELEM=$(ls ${SRC_DIR}|grep -v ${HD_MAKEFILE}|grep -v ${MAKE_SEGMENT})
|
||||
BLD_ELEM=$(ls ${BLD_DIR}|grep -v ${HD_MAKEFILE}|grep -v ${MAKE_SEGMENT})
|
||||
if [ "${BLD_ELEM}" = "" ]; then
|
||||
for iter in ${SRC_ELEM}; do
|
||||
Trace "Bulk [${SRC_DIR}/${iter} => ${BLD_DIR}"
|
||||
# cp -Lrf ${SRC_DIR}/${iter} ${BLD_DIR}
|
||||
done
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# for FILE in \
|
||||
# $(find -L ${SRC_DIR}/ -type f -o -type l -name "*.[ch]" -o -name "*.mk" -o -name "*.cpp") \
|
||||
# $(find ${SRC_DIR}/ -maxdepth 1 -name "*.patch" -o -name "lib*.a" -o -name "lib*.so") \
|
||||
# $([ "" != "${PKG_SOURCE}" ] && [ -d ${PACKAGE_DIR}/${PKG_SOURCE} ] && find ${PACKAGE_DIR}/${PKG_SOURCE}/ -type f -o -type l) \
|
||||
# ; \
|
||||
# do
|
||||
# if [ "" != "${PKG_SOURCE}" ] && \
|
||||
# [ -d ${PKG_SOURCE} ] && \
|
||||
# [ "$(dirname ${FILE})" != "${TOP_DIR}/${MODULE}" ]; then
|
||||
# SUBD=$(echo $(dirname ${FILE})|${SED} "s:$(dirname ${PKG_SOURCE})::")
|
||||
# SUBD=$(echo ${SUBD}|${SED} "s:${SRC_DIR}::")
|
||||
# else
|
||||
# SUBD=$(echo $(dirname ${FILE})|${SED} "s:${SRC_DIR}::")
|
||||
# SUBD=$(echo ${SUBD}|${SED} "s:${PACKAGE_DIR}/*::")
|
||||
# fi
|
||||
#
|
||||
# COPY_DIR=${OUTPUT_DIR}/${MODULE}/${SUBD}
|
||||
# mkdir -p ${COPY_DIR}
|
||||
# COPY_BASE=$(basename ${FILE})
|
||||
# FILE_COPY=${COPY_DIR}/${COPY_BASE}
|
||||
# # grep -q "\.git" <<< ${FILE} || Trace "Check: ${FILE}: ${FILE_COPY}"
|
||||
#
|
||||
# if [ ! -e ${FILE_COPY} -o \
|
||||
# ${FILE} -nt ${FILE_COPY} ]; then
|
||||
# mkdir -p ${BLD_DIR}/${FILE_DIR}
|
||||
# cp -f ${FILE} ${FILE_COPY}
|
||||
# fi
|
||||
# done
|
||||
|
||||
}
|
||||
|
||||
function Update_Makefile()
|
||||
{
|
||||
BLD_MFILE=${BLD_DIR}/${HD_MAKEFILE}
|
||||
|
||||
if [ ${BLD_MFILE} -nt ${SRC_DIR}/${MAKE_SEGMENT} ] && \
|
||||
[ ${BLD_MFILE} -nt ${STAMP_BLD_ENV} ]; then
|
||||
return 0;
|
||||
fi
|
||||
|
||||
rm -f ${BLD_MFILE}
|
||||
|
||||
echo "MODULE_NAME := ${MODULE}" >> ${BLD_MFILE}
|
||||
cat ${STAMP_BLD_ENV} >> ${BLD_MFILE}
|
||||
|
||||
cat << EOB >> ${BLD_MFILE}
|
||||
|
||||
include \$(RULE_DIR)/settings.mk
|
||||
include \$(CONFIG_TPL)
|
||||
|
||||
all:
|
||||
|
||||
EOB
|
||||
|
||||
cp -f ${SRC_DIR}/${MAKE_SEGMENT} ${BLD_DIR}/${MAKE_SEGMENT}
|
||||
|
||||
cat ${BLD_DIR}/${MAKE_SEGMENT} >> ${BLD_MFILE}
|
||||
${SED} -i 's/clean:/clean : clean-prepare/g' ${BLD_MFILE}
|
||||
|
||||
cat << EOB >> ${BLD_MFILE}
|
||||
|
||||
env:
|
||||
@echo ""
|
||||
@printf -- "-----------------------------------------------------------------\n"
|
||||
@\$(foreach var,\$(SHOW_ENV_VARS),\$(call Dump_Var,\$(var)))
|
||||
@printf -- "-----------------------------------------------------------------\n"
|
||||
@echo ""
|
||||
|
||||
include \$(RULE_DIR)/rules.mk
|
||||
EOB
|
||||
|
||||
Trace "Updated: ${BLD_MFILE}"
|
||||
}
|
||||
|
||||
if [ "$#" != "1" -a "$#" != "2" ]; then exit 12; fi
|
||||
|
||||
MODULE=${1}
|
||||
BLD_DIR=${OUTPUT_DIR}/${MODULE}
|
||||
SRC_DIR=${TOP_DIR}/${MODULE}
|
||||
|
||||
if [ ! -d ${SRC_DIR} ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "${VERBOSE_PRE_BLD}" != "" ]; then
|
||||
OPTION_V="-v"
|
||||
CMDSET_X="set -x"
|
||||
else
|
||||
OPTION_Q="-q"
|
||||
fi
|
||||
|
||||
mkdir -p ${BLD_DIR}
|
||||
|
||||
MSG=$(printf "%-28s%s" "${MODULE}" "[..]")
|
||||
echo -ne "\r "
|
||||
echo -ne "\033[0;37;0;44m""\r[..] o ${MSG}""\033[0;m"
|
||||
Trace ""
|
||||
|
||||
if [ "$#" = "1" ]; then
|
||||
Update_Sources
|
||||
fi
|
||||
Update_Makefile
|
197
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/rules.mk
vendored
Normal file
197
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/rules.mk
vendored
Normal file
@@ -0,0 +1,197 @@
|
||||
include $(RULE_DIR)/settings.mk
|
||||
sinclude $(CONFIG_TPL)
|
||||
|
||||
export PATH := $(PATH):$(TOOLCHAIN_DLDIR)/main/bin
|
||||
unexport VERBOSE
|
||||
unexport DEBUG
|
||||
|
||||
TOPDIR_NAME := $(shell $(SHELL_DBG) basename $(TOP_DIR))
|
||||
LIBOBJ_TMPDIR := $(OUTPUT_DIR)/lib$(TOPDIR_NAME).objs
|
||||
|
||||
SYSROOT_BIN := $(OUTPUT_DIR)${bindir}
|
||||
SYSROOT_INC := $(OUTPUT_DIR)${incdir}
|
||||
SYSROOT_LIB := $(OUTPUT_DIR)${libdir}
|
||||
CONFIG_VENDOR := $(shell grep -m 1 "VENDOR *:" $(CONFIG_TPL) 2>/dev/null|awk '{ print $$NF }')
|
||||
IMPORT_VDRDIR := $(IMPORT_DIR)/$(CONFIG_VENDOR)
|
||||
|
||||
HOST_ARCH_BITS := $(shell [ "$$(uname -m)" = "x86_64" ] && echo -n "64" || echo -n "32")
|
||||
PREBUILT_LIBDIR := $(if $(strip $(filter 64,$(HOST_ARCH_BITS)) $(CROSS_PREFIX)),libs,32bit-libs)
|
||||
PREBUILT_BINDIR := $(if $(strip $(filter 64,$(HOST_ARCH_BITS)) $(CROSS_PREFIX)),bin,32bit-bin)
|
||||
|
||||
CONFIG_VSP_WEBSITE ?= http://gitlab.alibaba-inc.com/yusheng.yx/alink-vendor-support-package
|
||||
|
||||
ifeq ($(shell uname), Linux)
|
||||
RPATH_CFLAGS += -Wl,-rpath='$$''ORIGIN/../lib'
|
||||
endif
|
||||
|
||||
# CFLAGS contains '$' causes ./configure failure in ORIGIN packages
|
||||
#
|
||||
# Instead of:
|
||||
#
|
||||
# ifeq ($(shell uname), Linux)
|
||||
# CFLAGS += -Wl,-rpath='$$''ORIGIN/../lib'
|
||||
# CFLAGS := $(sort $(CFLAGS))
|
||||
# endif
|
||||
#
|
||||
# Write @ package's makefile:
|
||||
#
|
||||
# ./configure \
|
||||
# CFLAGS='$(CFLAGS) -Wl,-rpath='\''$$$$'\''ORIGIN/../lib' \
|
||||
# --prefix=...
|
||||
#
|
||||
# To pass in RPATH related link flags
|
||||
|
||||
COMP_LIB_NAME := $(subst lib,,$(subst .so,,$(subst .a,,$(COMP_LIB))))
|
||||
COMP_LIB_OBJS = $(foreach d,$(COMP_LIB_COMPONENTS),$(LIBOBJ_TMPDIR)/$(d)/*.o)
|
||||
RECURSIVE_MAKE := $(MAKE) $(if $(TOP_Q),-s) -C $(TOP_DIR) -f $(TOP_MAKEFILE)
|
||||
ALL_SUB_DIRS := $(shell find -L $(TOP_DIR) \
|
||||
! -path "$(OUTPUT_DIR)/*" \
|
||||
! -path "$(TOP_DIR)/$(SHADOW_DIR)/*" \
|
||||
-name "$(MAKE_SEGMENT)" 2>/dev/null \
|
||||
| $(SED) 's,$(TOP_DIR)[/]*,,;s,[/]*$(MAKE_SEGMENT),,')
|
||||
|
||||
SHOW_ENV_VARS := \
|
||||
MODULE_NAME SUBDIRS PKG_NAME PKG_RPATH PKG_SOURCE PKG_SWITCH_V PKG_SWITCH \
|
||||
HOST_ARCH_BITS PREBUILT_LIBDIR RPATH_CFLAGS EXTRA_INCLUDE_DIRS \
|
||||
CROSS_PREFIX DEPENDS CFLAGS CCLD LDFLAGS \
|
||||
CC LD AR STRIP OBJCOPY COMP_LIB ALL_SUB_DIRS LIBOBJ_TMPDIR \
|
||||
MAKE_ENV_VARS DEFAULT_BLD EXTRA_CFLAGS \
|
||||
LIBA_TARGET LIBSO_TARGET TARGET KMOD_TARGET \
|
||||
SRCS OBJS LIB_SRCS LIB_OBJS LIB_HDRS_DIR LIB_HEADERS EXTRA_SRCS \
|
||||
$(foreach M,$(LIBA_TARGET),LIB_SRCS_$(subst .a,,$(subst lib,,$(M)))) \
|
||||
INTERNAL_INCLUDES TOP_DIR PRJ_NAME PRJ_VERSION COMP_LIB_COMPONENTS \
|
||||
IMPORT_DIR IMPORT_VDRDIR CONFIG_DIR PACKAGE_DIR EXTERNAL_INCLUDES \
|
||||
CONFIG_LIB_EXPORT OBJCOPY_FLAGS CONFIG_VENDOR COVERAGE_PROGS COVERAGE_CMD \
|
||||
|
||||
INFO_ENV_VARS := $(SHOW_ENV_VARS) \
|
||||
ALL_SUB_DIRS SED RULE_DIR OUTPUT_DIR MAKE_SEGMENT COMP_LIB_NAME LIBOBJ_TMPDIR \
|
||||
COMP_LIB_FILES STAMP_BLD_ENV STAMP_BLD_VAR EXTRA_INSTALL_HDRS FINAL_DIR DIST_DIR \
|
||||
WIN32_CMAKE_SKIP EXTRA_INCLUDE_DIRS NOEXEC_CMAKE_DIRS COMP_LIB \
|
||||
WITH_LCOV LCOV_DIR UTEST_PROG COVERAGE_CMD STAMP_LCOV CMAKE_EXPORT_LIBS \
|
||||
|
||||
INFO_ENV_VARS := $(filter-out CFLAGS,$(INFO_ENV_VARS))
|
||||
|
||||
ifndef CONFIG_LIB_EXPORT
|
||||
ifeq (y,$(strip $(CONFIG_EMB_GATEWAY_SDK)))
|
||||
CONFIG_LIB_EXPORT := dynamic
|
||||
else
|
||||
ifeq (y,$(strip $(CONFIG_EMB_BASIC_SDK)))
|
||||
CONFIG_LIB_EXPORT := static
|
||||
else
|
||||
ifeq (y,$(strip $(CONFIG_EMB_ROUTER_SDK)))
|
||||
CONFIG_LIB_EXPORT := dynamic
|
||||
endif # ROUTER
|
||||
endif # BASIC
|
||||
endif # GATEWAY
|
||||
else
|
||||
ifneq (static,$(CONFIG_LIB_EXPORT))
|
||||
ifneq (dynamic,$(CONFIG_LIB_EXPORT))
|
||||
$(error CONFIG_LIB_EXPORT($(CONFIG_LIB_EXPORT)) is neither 'static' or 'dynamic')
|
||||
endif # dynamic
|
||||
endif # static
|
||||
endif # CONFIG_LIB_EXPORT
|
||||
|
||||
ifneq (,$(shell ls $(STAMP_BLD_VAR) 2>/dev/null))
|
||||
ifeq (,$(filter reconfig distclean,$(MAKECMDGOALS)))
|
||||
ifeq (0,$(strip $(shell $(SED) '/[-_/a-zA-Z0-9]* = *..*/d' $(STAMP_BLD_VAR)|wc -l)))
|
||||
include $(STAMP_BLD_VAR)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
.PHONY: all clean FORCE
|
||||
|
||||
ifdef SUBDIRS
|
||||
include $(RULE_DIR)/_rules-top.mk
|
||||
include $(RULE_DIR)/_rules-prefix.mk
|
||||
include $(RULE_DIR)/_rules-repo.mk
|
||||
|
||||
CROSS_CANDIDATES := CC CXX AR LD STRIP OBJCOPY
|
||||
export CC := $(strip $(if $(OVERRIDE_CC), $(OVERRIDE_CC), $(CROSS_PREFIX)gcc))
|
||||
export CXX := $(strip $(if $(OVERRIDE_CXX), $(OVERRIDE_CXX), $(CROSS_PREFIX)g++))
|
||||
export AR := $(strip $(if $(OVERRIDE_AR), $(OVERRIDE_AR), $(CROSS_PREFIX)ar))
|
||||
export LD := $(strip $(if $(OVERRIDE_LD), $(OVERRIDE_LD), $(CROSS_PREFIX)ld))
|
||||
export OBJCOPY := $(strip $(if $(OVERRIDE_OBJCOPY),$(OVERRIDE_OBJCOPY),$(CROSS_PREFIX)objcopy))
|
||||
|
||||
ifneq (,$(OVERRIDE_STRIP))
|
||||
export STRIP := $(OVERRIDE_STRIP)
|
||||
else
|
||||
ifneq (,$(CROSS_PREFIX))
|
||||
export STRIP := $(CROSS_PREFIX)strip
|
||||
else
|
||||
export STRIP := true
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (gcc,$(strip $(CC)))
|
||||
export STRIP := strip
|
||||
endif
|
||||
|
||||
ifneq (y,$(shell which $(CC) > /dev/null 2>&1 && echo 'y'))
|
||||
LOCAL_TCDIR := $(TOOLCHAIN_DLDIR)/$(shell $(call Relative_TcPath,$(CC)))
|
||||
export CC := $(LOCAL_TCDIR)/$(CC)
|
||||
export AR := $(LOCAL_TCDIR)/$(AR)
|
||||
export LD := $(LOCAL_TCDIR)/$(LD)
|
||||
export OBJCOPY := $(LOCAL_TCDIR)/$(OBJCOPY)
|
||||
export STRIP := $(LOCAL_TCDIR)/$(STRIP)
|
||||
endif
|
||||
|
||||
ifneq (,$(filter -m32,$(strip $(CFLAGS))))
|
||||
PREBUILT_LIBDIR := 32bit-libs
|
||||
PREBUILT_BINDIR := 32bit-bin
|
||||
endif
|
||||
|
||||
include $(RULE_DIR)/_rules-dist.mk
|
||||
include $(RULE_DIR)/_rules-complib.mk
|
||||
include $(RULE_DIR)/_rules-submods.mk
|
||||
|
||||
env:
|
||||
$(TOP_Q)echo ""
|
||||
$(TOP_Q)printf -- "-----------------------------------------------------------------\n"
|
||||
$(TOP_Q)$(foreach var,$(SHOW_ENV_VARS),$(call Dump_Var,$(var)))
|
||||
$(TOP_Q)printf -- "-----------------------------------------------------------------\n"
|
||||
$(TOP_Q)echo ""
|
||||
$(TOP_Q)$(call $(POST_ENV_HOOK))
|
||||
|
||||
else # ifdef SUBDIRS
|
||||
|
||||
PKG_RPATH := $(shell echo $(CURDIR)|$(SED) 's,$(OUTPUT_DIR)/*,,g')
|
||||
PKG_NAME ?= $(shell basename $(CURDIR))
|
||||
PKG_SOURCE ?= $(shell [ -d $(PACKAGE_DIR) ] && find $(PACKAGE_DIR) -name "$(PKG_NAME)*" | head -1)
|
||||
|
||||
DEPENDS += $(DEPENDS_$(MODULE_NAME))
|
||||
DEPENDS := $(sort $(strip $(DEPENDS)))
|
||||
|
||||
ifdef CONFIG_SWITCH
|
||||
PKG_SWITCH_V = $(CONFIG_SWITCH)
|
||||
else
|
||||
PKG_SWITCH_V := CONFIG_$(PKG_RPATH)
|
||||
endif
|
||||
PKG_SWITCH = $($(PKG_SWITCH_V))
|
||||
|
||||
ifdef ORIGIN
|
||||
|
||||
include $(RULE_DIR)/_rules-origin.mk
|
||||
|
||||
else # ifdef ORIGIN
|
||||
|
||||
ifneq (,$(filter -m32,$(strip $(CFLAGS))))
|
||||
PREBUILT_LIBDIR := 32bit-libs
|
||||
PREBUILT_BINDIR := 32bit-bin
|
||||
endif
|
||||
|
||||
include $(RULE_DIR)/_rules-flat.mk
|
||||
|
||||
endif # ifdef ORIGIN
|
||||
|
||||
include $(RULE_DIR)/_rules-modinfo.mk
|
||||
|
||||
endif # ifdef SUBDIRS
|
||||
|
||||
sinclude $(STAMP_POST_RULE)
|
||||
|
||||
ifdef UTEST_PROG
|
||||
COVERAGE_LIST += \"./$(strip $(UTEST_PROG) --list)\"
|
||||
COVERAGE_LIST += \"./$(strip $(UTEST_PROG) --verbose=4)\"
|
||||
include $(RULE_DIR)/_rules-coverage.mk
|
||||
endif
|
40
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/add_license.sh
vendored
Normal file
40
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/add_license.sh
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
#! /bin/bash
|
||||
|
||||
TEXT=(
|
||||
"Copyright (c) 2014-2016 Alibaba Group. All rights reserved."
|
||||
"License-Identifier: Apache-2.0"
|
||||
""
|
||||
"Licensed under the Apache License, Version 2.0 (the \"License\"); you may"
|
||||
"not use this file except in compliance with the License."
|
||||
"You may obtain a copy of the License at"
|
||||
""
|
||||
"http://www.apache.org/licenses/LICENSE-2.0"
|
||||
""
|
||||
"Unless required by applicable law or agreed to in writing, software"
|
||||
"distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"
|
||||
"WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."
|
||||
"See the License for the specific language governing permissions and"
|
||||
"limitations under the License."
|
||||
""
|
||||
)
|
||||
|
||||
TOTAL_LINE=${#TEXT[@]}
|
||||
i=$(( TOTAL_LINE - 1 ))
|
||||
|
||||
sed -i "1i\ */" $1
|
||||
while (( i >= 0 )); do
|
||||
j=$(eval echo '${TEXT['$i']}')
|
||||
|
||||
if [ "$j" = "" ]; then
|
||||
sed -i "1i\ *" $1
|
||||
else
|
||||
if [ "$(echo $j|awk '{ print NF }')" = "1" ] && [ "$(echo $j | cut -c1-7)" = "http://" ]; then
|
||||
sed -i "1i\ * $j" $1
|
||||
else
|
||||
sed -i "1i\ * $j" $1
|
||||
fi
|
||||
fi
|
||||
|
||||
i=$(( i - 1 ))
|
||||
done
|
||||
sed -i "1i\/*" $1
|
10
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/del_license.sh
vendored
Normal file
10
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/del_license.sh
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
#! /bin/bash
|
||||
|
||||
START_LINE=$(head -3 $1|grep -n '^ *\/\*'|cut -d':' -f1)
|
||||
END_LINE=$(grep -m 1 -n '^ *\*\/' $1|cut -d':' -f1)
|
||||
echo "[${START_LINE},${END_LINE}]"
|
||||
|
||||
if [ "${START_LINE}" != "" ] && [ "${END_LINE}" != "" ]; then
|
||||
sed -i "${START_LINE},${END_LINE}d" $1
|
||||
echo "LICENSE REMOVED: $1"
|
||||
fi
|
@@ -0,0 +1,25 @@
|
||||
#! /bin/bash
|
||||
set -e
|
||||
|
||||
if [ "${OUTPUT_DIR}" = "" ] || [ ! -d ${OUTPUT_DIR} ]; then exit 1; fi
|
||||
|
||||
cd ${OUTPUT_DIR}/usr/bin
|
||||
|
||||
echo ""
|
||||
|
||||
iter=0
|
||||
while (( iter < ${#PROGS[@]} )); do
|
||||
UT_CMD=$(eval echo '${PROGS['${iter}']}')
|
||||
UT_PROG=$(echo ${UT_CMD}|cut -d' ' -f1)
|
||||
|
||||
echo "[${iter}] RUNNING '${UT_CMD}' with '${UT_PROG}'"|grep --color ".*"
|
||||
echo ""
|
||||
|
||||
if [ -f ${UT_PROG} ]; then
|
||||
${UT_CMD}
|
||||
else
|
||||
echo "${UT_CMD} SPECIFIED BUT ${UT_PROG} NOT FOUND"|grep --color ".*"
|
||||
fi
|
||||
|
||||
iter=$(( iter + 1 ))
|
||||
done
|
@@ -0,0 +1,62 @@
|
||||
#! /bin/bash
|
||||
|
||||
procing() {
|
||||
trap 'exit 0;' 6
|
||||
while :; do
|
||||
for j in '-' '\\' '|' '/'; do
|
||||
tput sc
|
||||
echo -ne "[$j]"
|
||||
sleep 0.1
|
||||
tput rc
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
waiting() {
|
||||
local pid="$1"
|
||||
|
||||
echo -ne "\033[1;32m"
|
||||
echo -n "$2 .................... "
|
||||
procing &
|
||||
|
||||
local tmppid="$!"
|
||||
wait $pid
|
||||
tput rc
|
||||
|
||||
echo "done"
|
||||
echo -ne "\033[0m"
|
||||
echo ""
|
||||
kill -6 $tmppid >/dev/null 1>&2
|
||||
}
|
||||
|
||||
GIT_PREFIX="https://gitee.com/alios-things"
|
||||
|
||||
LOCAL_CC=${TOOLCHAIN_DLDIR}/${RELPATH}/${CC}
|
||||
LOCAL_AR=${TOOLCHAIN_DLDIR}/${RELPATH}/${AR}
|
||||
|
||||
# echo "[RELPATH]: ${RELPATH}"
|
||||
# echo "[GITPATH]: ${GITPATH}"
|
||||
|
||||
which ${CC} > /dev/null 2>&1
|
||||
|
||||
if [ $? != 0 ] && [ ! -f ${LOCAL_CC} ]; then
|
||||
|
||||
if [ "${GITPATH}" = "" ]; then
|
||||
echo "Unable to find available toolchain of [${CC}] from local ENV or Internet. Abort!" | grep --color ".*"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -n "${GIT_PREFIX}/${GITPATH} -> "
|
||||
echo -n "$(basename ${OUTPUT_DIR})/$(basename ${TOOLCHAIN_DLDIR})/"
|
||||
echo "$(dirname ${RELPATH})"
|
||||
echo "---"
|
||||
|
||||
mkdir -p ${TOOLCHAIN_DLDIR}
|
||||
cd ${TOOLCHAIN_DLDIR}
|
||||
git clone -q ${GIT_PREFIX}/${GITPATH} &
|
||||
|
||||
waiting "$!" "downloading toolchain for ${CC}"
|
||||
cd ${OLDPWD}
|
||||
|
||||
fi
|
108
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/gen_lcov_report.sh
vendored
Normal file
108
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/gen_lcov_report.sh
vendored
Normal file
@@ -0,0 +1,108 @@
|
||||
#! /bin/bash
|
||||
set -e
|
||||
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
SED=gsed
|
||||
else
|
||||
SED=sed
|
||||
fi
|
||||
|
||||
rm -rf ${OUTPUT_DIR}/${LCOV_DIR} ${DIST_DIR}/${LCOV_DIR}
|
||||
lcov --quiet \
|
||||
--capture --initial --directory ${OUTPUT_DIR}/ \
|
||||
-o ${OUTPUT_DIR}/files.info
|
||||
lcov --quiet \
|
||||
--capture --directory ${OUTPUT_DIR} \
|
||||
-o ${OUTPUT_DIR}/tests.info
|
||||
lcov --quiet \
|
||||
--add-tracefile ${OUTPUT_DIR}/files.info \
|
||||
--add-tracefile ${OUTPUT_DIR}/tests.info \
|
||||
-o ${OUTPUT_DIR}/all.info
|
||||
lcov --quiet \
|
||||
--remove ${OUTPUT_DIR}/all.info \
|
||||
-o ${OUTPUT_DIR}/final.info '*.h'
|
||||
|
||||
genhtml --quiet \
|
||||
--legend --no-branch-coverage \
|
||||
-o ${OUTPUT_DIR}/${LCOV_DIR} ${OUTPUT_DIR}/final.info 2>/dev/null
|
||||
|
||||
cp -rf ${OUTPUT_DIR}/${LCOV_DIR} ${DIST_DIR}/${LCOV_DIR}
|
||||
cd ${DIST_DIR}/${LCOV_DIR} && \
|
||||
${SED} -i 's:\(coverFile.*\)>${OUTPUT_DIR}/:\1>:g' index.html
|
||||
cd ${OLDPWD}
|
||||
|
||||
SRC_NAME_LENGTH=28
|
||||
DIR_NAME_LENGTH=16
|
||||
COVERAGE_HIGH=90
|
||||
COVERAGE_MID=75
|
||||
|
||||
echo ""
|
||||
echo "Processing [${DIST_DIR}/${LCOV_DIR}] for Coverage Brief"
|
||||
echo ""
|
||||
#
|
||||
# sdk-example / example.c : [100.00%] (7/7) [100.00%] (1/1)
|
||||
#
|
||||
echo -ne "\033[1;36m"
|
||||
printf "%${DIR_NAME_LENGTH}s %-${SRC_NAME_LENGTH}s: %-24s %-20s\n\n" \
|
||||
"Directory" \
|
||||
"Source File" \
|
||||
"Line Coverage" \
|
||||
"Function Coverage"
|
||||
echo -ne "\033[0m"
|
||||
|
||||
REPORT_LIST=$(find ${DIST_DIR}/${LCOV_DIR} -mindepth 2 -name "index.html")
|
||||
for R in ${REPORT_LIST}; do
|
||||
SOURCE_LIST=$(grep "coverFile" ${R} | awk -F '<' '{ print $3 }' | cut -d'>' -f2)
|
||||
for S in ${SOURCE_LIST}; do
|
||||
STATS=$(grep -A 7 "${S}</a>" ${R} | ${SED} -n '6p;8p'|grep -o -E '[0-9]+')
|
||||
DIR_NAME=$(echo "$(dirname ${R}|xargs basename)" | cut -c1-15)
|
||||
SRC_NAME=$(echo "${S}" | cut -c"1-$(( SRC_NAME_LENGTH -1 ))")
|
||||
COVER_LINE=$(echo ${STATS}|cut -d' ' -f1)
|
||||
TOTAL_LINE=$(echo ${STATS}|cut -d' ' -f2)
|
||||
COVER_FUNC=$(echo ${STATS}|cut -d' ' -f3)
|
||||
TOTAL_FUNC=$(echo ${STATS}|cut -d' ' -f4)
|
||||
|
||||
LINE_PERCENT="$(echo "scale=2; ${COVER_LINE} * 100 / ${TOTAL_LINE}"|bc -l)%"
|
||||
FUNC_PERCENT="$(echo "scale=2; ${COVER_FUNC} * 100 / ${TOTAL_FUNC}"|bc -l)%"
|
||||
|
||||
printf \
|
||||
"%-8s %${DIR_NAME_LENGTH}s / %-${SRC_NAME_LENGTH}s: [ %s ] (%s/%s) \t [ %s ] (%s/%s)\n" \
|
||||
${LINE_PERCENT} \
|
||||
${DIR_NAME} \
|
||||
${SRC_NAME} \
|
||||
${LINE_PERCENT} \
|
||||
${COVER_LINE} \
|
||||
${TOTAL_LINE} \
|
||||
${FUNC_PERCENT} \
|
||||
${COVER_FUNC} \
|
||||
${TOTAL_FUNC}
|
||||
done
|
||||
done \
|
||||
| sort -nr \
|
||||
| cut -d' ' -f2- \
|
||||
| awk -v SRC_LEN=${SRC_NAME_LENGTH} -v DIR_LEN=${DIR_NAME_LENGTH} \
|
||||
-v HIGH=${COVERAGE_HIGH} -v MID=${COVERAGE_MID} \
|
||||
'{
|
||||
split($6, arr, ".");
|
||||
|
||||
if (arr[1] >= HIGH)
|
||||
printf("\033[1;32m");
|
||||
else if (arr[1] >= MID)
|
||||
printf("\033[1;35m");
|
||||
else
|
||||
printf("\033[1;31m");
|
||||
|
||||
printf("%" DIR_LEN "s / %-" SRC_LEN "s: [ %-8s] %-12s [ %-8s] %-12s\n",
|
||||
$1, $3, $6, $8, $10, $12);
|
||||
}'
|
||||
|
||||
#
|
||||
# 1 2 3 4 5 6 7 8 9 10 11 12
|
||||
# sdk-example / example.c : [ 100.00% ] (7/7) [ 100.00% ] (1/1)
|
||||
#
|
||||
|
||||
rm -f ${OUTPUT_DIR}/{files,tests,all,final}.info
|
||||
find ${OUTPUT_DIR} -name "*.gcno" -o -name "*.gcda" -exec rm -f {} \;
|
||||
|
||||
echo ""
|
||||
exit 0
|
207
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/gen_one_makefile.sh
vendored
Normal file
207
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/gen_one_makefile.sh
vendored
Normal file
@@ -0,0 +1,207 @@
|
||||
#! /bin/bash
|
||||
|
||||
TARGET_FILE=${OUTPUT_DIR}/.one_makefile
|
||||
rm -f ${TARGET_FILE}
|
||||
|
||||
CONFIG_VERNDOR=$(grep -m 1 "VENDOR *:" .config|awk '{ print $NF }')
|
||||
EXT_IFLAGS=$( \
|
||||
for iter in \
|
||||
$(find -L \
|
||||
tools/build-rules/misc \
|
||||
include \
|
||||
tests \
|
||||
src \
|
||||
${IMPORT_DIR}/${CONFIG_VENDOR}/include \
|
||||
-type d -not -path "*.git*" -not -path "*.O*" 2>/dev/null); do \
|
||||
echo " -I${iter} \\"; \
|
||||
done)
|
||||
IFLAGS=$( \
|
||||
for iter in \
|
||||
$(find -L \
|
||||
${COMP_LIB_COMPONENTS} \
|
||||
${EXPORT_DIR} \
|
||||
${SUBDIRS} \
|
||||
${EXTRA_INCLUDE_DIRS} \
|
||||
${IMPORT_DIR}/${CONFIG_VENDOR}/include \
|
||||
-type d -not -path "*.git*" -not -path "*.O*" 2>/dev/null); do \
|
||||
echo " -I${iter} \\"; \
|
||||
done)
|
||||
|
||||
if [ "${WITH_LCOV}" = "1" ]; then
|
||||
CFLAGS=$( \
|
||||
echo "${CFLAGS}" \
|
||||
| xargs -n 1 \
|
||||
| awk '{ printf(" %s \\\n", $0); }' \
|
||||
)
|
||||
else
|
||||
CFLAGS=$( \
|
||||
echo "${CFLAGS}" \
|
||||
| xargs -n 1 \
|
||||
| grep -v '\-\-coverage' \
|
||||
| awk '{ printf(" %s \\\n", $0); }' \
|
||||
)
|
||||
fi
|
||||
|
||||
ETC_OBJS=$(
|
||||
for i in ${ALL_LIBS}; do
|
||||
j=$(grep "${i}$" ${STAMP_BLD_VAR} | cut -d' ' -f1 | sed 's|LIBA_TARGET_|LIB_OBJS_|g')
|
||||
k=$(grep "${j}" ${STAMP_BLD_VAR} | cut -d' ' -f3-)
|
||||
for l in ${k}; do
|
||||
echo "${j//LIB_OBJS_/}/${l}"
|
||||
done
|
||||
done)
|
||||
ALL_LIBS=$(for iter in ${ALL_LIBS}; do echo -n "${OUTPUT_DIR}/usr/lib/${iter} "; done)
|
||||
ALL_BINS=$(for iter in ${ALL_PROG}; do echo -n "${OUTPUT_DIR}/usr/bin/${iter} "; done)
|
||||
OUTPUT_D=$(basename ${OUTPUT_DIR})
|
||||
|
||||
if [ "$(echo ${CFLAGS}|grep -w '\-D_PLATFORM_IS_LINUX_')" = "" ]; then
|
||||
ALL_BINS=""
|
||||
fi
|
||||
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
include ${RULE_DIR}/funcs.mk
|
||||
|
||||
SHELL := bash
|
||||
Q ?= @
|
||||
VPATH := $(for iter in ${COMP_LIB_COMPONENTS}; do echo -n "${OUTPUT_DIR}/${iter} "; done)
|
||||
|
||||
EXT_IFLAGS := \\
|
||||
${EXT_IFLAGS}
|
||||
|
||||
IFLAGS := \\
|
||||
${IFLAGS}
|
||||
|
||||
CFLAGS := \\
|
||||
${EXTRA_CFLAGS} \\
|
||||
${CFLAGS}
|
||||
|
||||
STAMP_LCOV := ${STAMP_LCOV}
|
||||
|
||||
.PHONY: all
|
||||
all: ${OUTPUT_DIR}/usr/lib/${COMP_LIB} ${ALL_LIBS} ${ALL_BINS}
|
||||
\$(Q)cp -rf ${EXTRA_INSTALL_HDRS} ${OUTPUT_DIR}/usr/include 2>/dev/null || true
|
||||
@rm -f *.gcda *.gcno \$\$(find ${RULE_DIR} -name "*.o")
|
||||
|
||||
@if [ "\$(WITH_LCOV)" = "1" ]; then \\
|
||||
mkdir -p \$\$(dirname \$(STAMP_LCOV)); \\
|
||||
touch \$(STAMP_LCOV); \\
|
||||
else \\
|
||||
rm -f \$(STAMP_LCOV); \\
|
||||
fi
|
||||
|
||||
ifneq (,\$(findstring gcc,\$(CC)))
|
||||
$(for iter in ${COMP_LIB_OBJS}; do
|
||||
echo "sinclude ${OUTPUT_DIR}/${iter/.o/.d}"
|
||||
done
|
||||
)
|
||||
endif
|
||||
|
||||
${OUTPUT_DIR}/usr/lib/${COMP_LIB}: \\
|
||||
$(for iter in ${COMP_LIB_OBJS}; do
|
||||
echo " ${OUTPUT_DIR}/${iter} \\"
|
||||
done
|
||||
)
|
||||
|
||||
\$(Q)mkdir -p \$\$(dirname \$@)
|
||||
\$(Q)\$(call Brief_Log,"AR",\$\$(basename \$@),"...")
|
||||
\$(Q)${AR} -rcs \$@ \$^ 2>/dev/null
|
||||
|
||||
%.o:
|
||||
\$(Q)\$(call Brief_Log,"CC",\$\$(basename \$@),"...")
|
||||
\$(Q)mkdir -p \$\$(dirname \$@)
|
||||
\$(Q)S=\$\$(echo \$@|sed 's,${OUTPUT_DIR},${TOP_DIR},1'); \\
|
||||
if echo \$\${S//.o/.c} | grep -q 'mbedtls\|HAL_\|hal-impl'; then \\
|
||||
${CC} -c \\
|
||||
-o \$@ \\
|
||||
\$(filter-out -ansi,\$(CFLAGS)) \\
|
||||
\$(IFLAGS) \\
|
||||
\$\${S//.o/.c}; \\
|
||||
else \\
|
||||
${CC} -c \\
|
||||
-o \$@ \\
|
||||
\$(CFLAGS) \\
|
||||
\$(IFLAGS) \\
|
||||
\$\${S//.o/.c}; \\
|
||||
fi
|
||||
|
||||
ifneq (,\$(findstring gcc,\$(CC)))
|
||||
%.d:
|
||||
@\\
|
||||
( \\
|
||||
D=\$\$(dirname \$@|sed 's,${OUTPUT_DIR},${TOP_DIR},1'); \\
|
||||
F=\$\$(basename \$@); \\
|
||||
F=\$\${F/.d/.c}; \\
|
||||
mkdir -p \$\$(dirname \$@); \\
|
||||
${CC} -MM -I\$(CURDIR) \\
|
||||
\$(IFLAGS) \\
|
||||
\$(filter-out -ansi,\$(CFLAGS)) \\
|
||||
\$\${D}/\$\${F} > \$@.\$\$\$\$; \\
|
||||
sed -i 's!\$(shell basename \$*)\.o[ :]!\$*.o:!1' \$@.\$\$\$\$; \\
|
||||
mv \$@.\$\$\$\$ \$@; \\
|
||||
)
|
||||
endif
|
||||
|
||||
EOB
|
||||
|
||||
for i in ${ALL_LIBS}; do
|
||||
n=$(basename ${i})
|
||||
j=$(grep "${n}$" ${STAMP_BLD_VAR}|cut -d' ' -f1|sed 's:LIBA_TARGET_::1')
|
||||
k=$(echo 'LIB_OBJS_'"${j}")
|
||||
k=$(grep -m 1 "^${k}" ${STAMP_BLD_VAR}|cut -d' ' -f3-)
|
||||
k=$(for l in ${k}; do echo -n "${OUTPUT_DIR}/${j}/${l} "; done)
|
||||
|
||||
for m in ${k}; do
|
||||
echo "sinclude ${m/.o/.d}" >> ${TARGET_FILE}
|
||||
done
|
||||
echo "" >> ${TARGET_FILE}
|
||||
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
${OUTPUT_DIR}/usr/lib/${n}: \\
|
||||
$(for m in ${k}; do
|
||||
echo " ${m} \\";
|
||||
done)
|
||||
|
||||
\$(Q)mkdir -p \$\$(dirname \$@)
|
||||
\$(Q)\$(call Brief_Log,"AR",\$\$(basename \$@),"...")
|
||||
\$(Q)${AR} -rcs \$@ \$^ 2>/dev/null
|
||||
|
||||
EOB
|
||||
done
|
||||
|
||||
for i in ${ALL_PROG}; do
|
||||
j=$(grep -w -m 1 "^SRCS_${i}" ${STAMP_BLD_VAR}|cut -d' ' -f3-)
|
||||
k=$(grep -w -m 1 "TARGET_.* = .*${i}" ${STAMP_BLD_VAR}|cut -d' ' -f1|sed 's:TARGET_::1')
|
||||
q=${k}
|
||||
if [ "$(grep -w -m 1 "^TARGET_${k}" ${STAMP_BLD_VAR}|cut -d' ' -f3-|awk '{ print NF }')" = "1" ]; then
|
||||
k=""
|
||||
fi
|
||||
LFLAGS=$(grep -w -m 1 "^LDFLAGS_${q}" ${STAMP_BLD_VAR}|cut -d' ' -f3-)
|
||||
if [ "${CC}" = "gcc" ]; then
|
||||
if [ "$(uname)" != "Darwin" ]; then
|
||||
LFLAGS="${LFLAGS} -lgcov"
|
||||
fi
|
||||
fi
|
||||
j=$(for n in ${j}; do p=$(echo ${n}|cut -c1); [ "${p}" = "/" ] && echo -n "${n}" || echo -n "${TOP_DIR}/${q}/${n} "; done)
|
||||
|
||||
EXTRA_SRCS=$(grep -w -m 1 "^EXTRA_SRCS_${q}" ${STAMP_BLD_VAR}|cut -d' ' -f3-)
|
||||
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
${OUTPUT_DIR}/usr/bin/${i}: \\
|
||||
${EXTRA_SRCS} \\
|
||||
$(for m in ${j} ${OUTPUT_DIR}/usr/lib/${COMP_LIB} ${ALL_LIBS}; do
|
||||
echo " ${m} \\"|sed 's!//*!/!g';
|
||||
done)
|
||||
|
||||
\$(Q)\$(call Brief_Log,"LD",\$\$(basename \$@),"...")
|
||||
\$(Q)${CC} \\
|
||||
-o \$@ \\
|
||||
$([ "$i" != "sdk-testsuites" ] && echo "\$(IFLAGS)" || echo "\$(EXT_IFLAGS)") \\
|
||||
\$(filter-out -Wdeclaration-after-statement -ansi,\$(CFLAGS)) \\
|
||||
\$(filter-out %.a,\$^) \\
|
||||
$( if [ "${i}" = "sdk-testsuites" ] && uname -a|grep -qw Ubuntu; then echo "${TOP_DIR}/${IMPORT_VDRDIR}/${PREBUILT_LIBDIR}/libcurl.a"; fi ) \\
|
||||
-L${OUTPUT_DIR}/usr/lib \\
|
||||
${LFLAGS} $( if [ "${i}" = "sdk-testsuites" ] && ! uname -a|grep -qw Ubuntu; then echo "-lcurl"; fi )
|
||||
|
||||
EOB
|
||||
done
|
||||
|
133
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/gen_rom_stats.sh
vendored
Normal file
133
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/gen_rom_stats.sh
vendored
Normal file
@@ -0,0 +1,133 @@
|
||||
#! /bin/bash
|
||||
|
||||
#echo "COMP_LIB = ${COMP_LIB}"
|
||||
#echo "STRIP = ${STRIP}"
|
||||
|
||||
bash ${TOP_DIR}/extract.sh test
|
||||
|
||||
cd ${DIST_DIR}/eng
|
||||
|
||||
cp -rf wrappers/wrappers_defs.h infra/*.h ${FINAL_DIR}/include
|
||||
|
||||
echo "Selected functions:"
|
||||
echo ""
|
||||
for iter in $(ls|grep -v 'wrappers\|infra'); do
|
||||
echo " . [${iter}]"
|
||||
cp -f ${iter}/*_api.h ${FINAL_DIR}/include 2>/dev/null
|
||||
cp -f ${iter}/*_wrapper.h ${FINAL_DIR}/include 2>/dev/null
|
||||
done
|
||||
|
||||
cd ${OLDPWD}
|
||||
|
||||
echo ""
|
||||
printf " | %-5s | %-35s | %14s | %26s |\n" "RATE" "OBJ NAME" "BYTES/TOTAL" "MODULE NAME"
|
||||
|
||||
for iter in ${ALL_SUB_DIRS}; do
|
||||
[ ! -d ${LIBOBJ_TMPDIR}/${iter} ] && continue
|
||||
|
||||
cd ${LIBOBJ_TMPDIR}/${iter}
|
||||
|
||||
ITER_OBJS=$(find . -name "*.o")
|
||||
[ "${ITER_OBJS}" != "" ] || continue
|
||||
${STRIP} ${ITER_OBJS} 2>/dev/null
|
||||
|
||||
ITER_SIZE=$(size ${ITER_OBJS} | ${SED} '1d' | awk '{ sum += $1 } END { print sum }')
|
||||
|
||||
[ "${ITER_SIZE}" != "0" ] && \
|
||||
printf " |-%-.5s-|-%-.35s-|-%.14s-|-%.26s-|\n" \
|
||||
"-----------------------------------------" \
|
||||
"-----------------------------------------" \
|
||||
"-----------------------------------------" \
|
||||
"-----------------------------------------"
|
||||
|
||||
|
||||
for j in ${ITER_OBJS}; do
|
||||
size $j | ${SED} '1d' \
|
||||
| awk -v sum="${ITER_SIZE}" \
|
||||
-v mod="${iter}" \
|
||||
-v obj="$(basename ${j})" \
|
||||
'{ if ($1 != 0) printf("%d %.4s%% %s %-d/%d %s\n", $1, ($1/sum)*100, obj, $1, sum, mod); }'
|
||||
done \
|
||||
| sort -nr \
|
||||
| cut -d' ' -f2- \
|
||||
| awk '{ printf(" | %-5s | %-35s | %14s | %26s |\n", $1, $2, $3, $4); }'
|
||||
|
||||
cd ${OLDPWD}
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
printf " | %-5s | %-35s | %-9s | %-9s | %-10s | %-6s |\n" \
|
||||
"RATE" "MODULE NAME" "ROM" "RAM" "BSS" "DATA"
|
||||
printf " |-%-.5s-|-%-.35s-|-%-.9s-|-%-.9s-|-%-.10s-|-%-.6s-|\n" \
|
||||
"-------------" \
|
||||
"--------------------------------------------" \
|
||||
"-------------" \
|
||||
"-------------" \
|
||||
"-------------" \
|
||||
"-------------"
|
||||
|
||||
cd ${LIBOBJ_TMPDIR}
|
||||
TOTAL_ROM=$(find $(for i in ${COMP_LIB_COMPONENTS}; do echo "${OUTPUT_DIR}/${i}"; done) -name "*.o" 2>/dev/null \
|
||||
| xargs size \
|
||||
| awk '{ sum += $1 } END { print sum }')
|
||||
cd ${OLDPWD}
|
||||
|
||||
for iter in ${COMP_LIB_COMPONENTS}; do
|
||||
[ ! -d ${LIBOBJ_TMPDIR}/${iter} ] && continue
|
||||
|
||||
cd ${LIBOBJ_TMPDIR}/${iter}
|
||||
|
||||
ITER_OBJS=$(find . -name "*.o")
|
||||
[ "${ITER_OBJS}" != "" ] || continue
|
||||
${STRIP} ${ITER_OBJS} 2>/dev/null
|
||||
|
||||
size ${ITER_OBJS} | ${SED} '1d' \
|
||||
| awk -v name=${iter} -v total_rom=${TOTAL_ROM} '
|
||||
BEGIN { sum_rom = sum_ram = sum_bss = sum_data = 0 }
|
||||
{
|
||||
sum_rom += $1 + $2;
|
||||
sum_ram += $2 + $3;
|
||||
sum_bss += $3;
|
||||
sum_data += $2;
|
||||
}
|
||||
END {
|
||||
rate = sum_rom / total_rom * 100;
|
||||
printf("%d | %.4s%% | %-35s | %-9s | %-9s | %-10s | %-6s |\n",
|
||||
sum_rom,
|
||||
rate,
|
||||
name,
|
||||
sum_rom,
|
||||
sum_ram,
|
||||
sum_bss,
|
||||
sum_data);
|
||||
}
|
||||
'
|
||||
|
||||
cd ${OLDPWD}
|
||||
done \
|
||||
| sort -nr \
|
||||
| cut -d' ' -f2- \
|
||||
| ${SED} 's!.*! &!g' \
|
||||
| awk -v total_rom=${TOTAL_ROM} '
|
||||
BEGIN { sum_rom = sum_ram = sum_bss = sum_data = 0 }
|
||||
{
|
||||
sum_rom += $6;
|
||||
sum_ram += $8;
|
||||
sum_bss += $10;
|
||||
sum_data += $12;
|
||||
print;
|
||||
}
|
||||
END {
|
||||
rate = sum_rom / total_rom * 100;
|
||||
printf(" |-------|-------------------------------------|-----------|-----------|------------|--------|\n");
|
||||
if (rate < 100)
|
||||
printf(" | %.4s%% | %-35s | %-9s | %-9s | %-10s | %-6s |\n", rate, "- IN TOTAL -", sum_rom, sum_ram, sum_bss, sum_data);
|
||||
else
|
||||
printf(" | %.3s%% | %-35s | %-9s | %-9s | %-10s | %-6s |\n", rate, "- IN TOTAL -", sum_rom, sum_ram, sum_bss, sum_data);
|
||||
}
|
||||
'
|
||||
|
||||
echo ""
|
120
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/gen_sub_cmake.sh
vendored
Normal file
120
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/gen_sub_cmake.sh
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
#! /bin/bash
|
||||
TARGET_FILE=$1
|
||||
SRC_LIST=$(for i in ${LIB_SRCS}; do
|
||||
echo ${i}|${SED} "s:${TOP_DIR}: \${PROJECT_SOURCE_DIR}:g"
|
||||
done)
|
||||
DIR_LIST=$(for i in ${LIB_SRCS}; do
|
||||
dirname ${i}|sed "s:${TOP_DIR}/*::g"
|
||||
done|sort -u)
|
||||
MOD_NAME=$(echo ${MODULE_NAME}|sed 's:/:_:g')
|
||||
|
||||
rm -f ${TARGET_FILE}
|
||||
|
||||
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
$(for i in ${INTERNAL_INCLUDES} ${EXTERNAL_INCLUDES}; do
|
||||
if grep -q "$(basename ${OUTPUT_DIR})/usr/include" <<< "${i}"; then
|
||||
continue;
|
||||
fi
|
||||
echo $i \
|
||||
| ${SED} "s:-I${TOP_DIR}\(.*\):INCLUDE_DIRECTORIES (\${PROJECT_SOURCE_DIR}\1):g"
|
||||
done)
|
||||
|
||||
EOB
|
||||
|
||||
if echo ${CMAKE_EXPORT_LIBS} | grep -qw ${MODULE_NAME}; then
|
||||
TYPE="SHARED"
|
||||
else
|
||||
TYPE="OBJECT"
|
||||
fi
|
||||
|
||||
if [ "${LIBA_TARGET}" != "" ]; then
|
||||
LNAME=${LIBA_TARGET#lib}
|
||||
LNAME=${LNAME%.a}
|
||||
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
FILE (GLOB ${MOD_NAME}_SRCS
|
||||
$(for i in ${DIR_LIST}; do echo " \${PROJECT_SOURCE_DIR}/${i}/*.c"; done)
|
||||
)
|
||||
|
||||
ADD_LIBRARY (${LNAME} ${TYPE}
|
||||
\${${MOD_NAME}_SRCS}
|
||||
\${EXTRA_C_SOURCES}
|
||||
)
|
||||
|
||||
EOB
|
||||
fi
|
||||
|
||||
#
|
||||
# We do NOT compose ADD_TARGET and TARGET_LINK_LIBRARY segment for those
|
||||
#
|
||||
if grep -qw "${MODULE_NAME}" <<< "${NOEXEC_CMAKE_DIRS}"; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
TARGET_COUNT=$(echo "${TARGET}" | awk '{ print NF }')
|
||||
|
||||
if (( TARGET_COUNT == 1 )); then
|
||||
if grep -qw ${TARGET} <<< ${WIN32_CMAKE_SKIP}; then
|
||||
echo "IF (NOT WIN32)" >> ${TARGET_FILE}
|
||||
fi
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
ADD_EXECUTABLE (${TARGET}
|
||||
$(for i in ${SRCS}; do
|
||||
echo ${i} | ${SED} "s:${TOP_DIR}: \${PROJECT_SOURCE_DIR}:g"
|
||||
done)
|
||||
)
|
||||
|
||||
$(for i in \
|
||||
$(echo ${LDFLAGS} | grep -o '\-l[^ ]*' | sort -u | sed 's:^-l::g'); do
|
||||
if [ "${i}" = "pthread" -o "${i}" = "rt" ]; then echo "IF (NOT MSVC)"; fi
|
||||
echo "TARGET_LINK_LIBRARIES (${TARGET} ${i})"
|
||||
if [ "${i}" = "pthread" -o "${i}" = "rt" ]; then echo "ENDIF (NOT MSVC)"; fi
|
||||
done)
|
||||
EOB
|
||||
if grep -qw ${TARGET} <<< ${WIN32_CMAKE_SKIP}; then
|
||||
echo "ENDIF (NOT WIN32)" >> ${TARGET_FILE}
|
||||
fi
|
||||
echo "" >> ${TARGET_FILE}
|
||||
fi
|
||||
|
||||
if (( TARGET_COUNT > 1 )); then
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
$(for i in ${TARGET}; do
|
||||
if echo ${WIN32_CMAKE_SKIP} | grep -qw ${i}; then
|
||||
echo "IF (NOT WIN32)"
|
||||
fi
|
||||
echo "ADD_EXECUTABLE (${i}"
|
||||
|
||||
j=${i//-/_}
|
||||
k=$(eval echo '${''SRCS_'"${j}"'}')
|
||||
|
||||
for v in ${k}; do
|
||||
echo " ${v}"
|
||||
done
|
||||
echo ")"
|
||||
if echo ${WIN32_CMAKE_SKIP} | grep -qw ${i}; then
|
||||
echo "ENDIF (NOT WIN32)"
|
||||
fi
|
||||
done)
|
||||
|
||||
$(for i in ${TARGET}; do
|
||||
if echo ${WIN32_CMAKE_SKIP} | grep -qw ${i}; then
|
||||
echo "IF (NOT WIN32)"
|
||||
fi
|
||||
echo "TARGET_LINK_LIBRARIES (${i} ${COMP_LIB_NAME})"
|
||||
for j in $(echo ${LDFLAGS} | grep -o '\-l[^ ]*' | sort -u | sed 's:^-l::g' | grep -vw ${COMP_LIB_NAME}); do
|
||||
if [ "${j}" = "pthread" -o "${j}" = "rt" ]; then echo "IF (NOT MSVC)"; fi
|
||||
echo "TARGET_LINK_LIBRARIES (${i} ${j})"
|
||||
if [ "${j}" = "pthread" -o "${j}" = "rt" ]; then echo "ENDIF (NOT MSVC)"; fi
|
||||
done
|
||||
if echo ${WIN32_CMAKE_SKIP} | grep -qw ${i}; then
|
||||
echo "ENDIF (NOT WIN32)"
|
||||
fi
|
||||
echo ""
|
||||
done)
|
||||
|
||||
SET (EXECUTABLE_OUTPUT_PATH ../out)
|
||||
EOB
|
||||
|
||||
fi
|
116
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/gen_top_cmake.sh
vendored
Normal file
116
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/scripts/gen_top_cmake.sh
vendored
Normal file
@@ -0,0 +1,116 @@
|
||||
#! /bin/bash
|
||||
|
||||
TARGET_FILE=$1
|
||||
PKG_RPATH=$(echo ${PACKAGE_DIR}|${SED} "s:${TOP_DIR}/*::g")
|
||||
W32_LIBSD=$(echo ${IMPORT_DIR}/win7/${PREBUILT_LIBDIR}|${SED} "s:${TOP_DIR}/*::g")
|
||||
|
||||
rm -f ${TARGET_FILE}
|
||||
|
||||
ALL_CFLAGS="$(grep -m 1 '^CFLAGS\>' ${STAMP_BLD_ENV}|cut -d' ' -f3-)"
|
||||
REM_CFLAGS=""
|
||||
DEF_CFLAGS=""
|
||||
for i in ${ALL_CFLAGS}; do
|
||||
j=$(echo ${i}|cut -c1,2)
|
||||
if [ "${j}" = "-D" ]; then
|
||||
DEF_CFLAGS="${DEF_CFLAGS} ${i}"
|
||||
else
|
||||
REM_CFLAGS="${REM_CFLAGS} ${i}"
|
||||
fi
|
||||
done
|
||||
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
if(\${CMAKE_SOURCE_DIR} STREQUAL \${CMAKE_BINARY_DIR})
|
||||
MESSAGE (FATAL_ERROR "in-tree build not allowded")
|
||||
endif(\${CMAKE_SOURCE_DIR} STREQUAL \${CMAKE_BINARY_DIR})
|
||||
|
||||
CMAKE_MINIMUM_REQUIRED (VERSION 2.8)
|
||||
PROJECT (${PRJ_NAME}-${PRJ_VERSION} C)
|
||||
|
||||
SET (EXECUTABLE_OUTPUT_PATH \${PROJECT_BINARY_DIR}/bin)
|
||||
SET (LIBRARY_OUTPUT_PATH \${PROJECT_BINARY_DIR}/lib)
|
||||
SET (CMAKE_C_FLAGS "${REM_CFLAGS} -fPIC")
|
||||
|
||||
IF (WIN32)
|
||||
SET (CMAKE_EXE_LINKER_FLAGS "-L\${PROJECT_SOURCE_DIR}/${W32_LIBSD}")
|
||||
ENDIF (WIN32)
|
||||
|
||||
MESSAGE ("---------------------------------------------------------------------")
|
||||
MESSAGE ("Project Name : " \${PROJECT_NAME})
|
||||
MESSAGE ("Source Dir : " \${PROJECT_SOURCE_DIR})
|
||||
MESSAGE ("Binary Dir : " \${PROJECT_BINARY_DIR})
|
||||
MESSAGE ("System Processor : " \${CMAKE_SYSTEM_PROCESSOR})
|
||||
MESSAGE ("System Platform : " \${CMAKE_SYSTEM})
|
||||
MESSAGE ("C Compiler : " \${CMAKE_C_COMPILER})
|
||||
MESSAGE ("Executable Dir : " \${EXECUTABLE_OUTPUT_PATH})
|
||||
MESSAGE ("Library Dir : " \${LIBRARY_OUTPUT_PATH})
|
||||
MESSAGE ("SDK Version : " ${PRJ_VERSION})
|
||||
MESSAGE ("")
|
||||
|
||||
IF (WIN32)
|
||||
MESSAGE ("Building on WINDOWS ...")
|
||||
ELSE (WIN32)
|
||||
MESSAGE ("Building on LINUX ...")
|
||||
ENDIF (WIN32)
|
||||
MESSAGE ("---------------------------------------------------------------------")
|
||||
|
||||
$(for i in $(grep 'PKG_SOURCE' \
|
||||
$(find ${TOP_DIR} -name ${MAKE_SEGMENT} -not -path "*.O*") \
|
||||
| ${SED} "s:${TOP_DIR}/\(.*\)/${MAKE_SEGMENT}.*= *\(.*\):\1~\2:g"); do
|
||||
UNZIP_DIR=${i%%~*}
|
||||
GREPO_DIR=${i##*~}
|
||||
GREPO_PRE=${GREPO_DIR%%.git}
|
||||
|
||||
echo "FILE (REMOVE_RECURSE \${PROJECT_SOURCE_DIR}/${UNZIP_DIR}/${GREPO_PRE})"
|
||||
echo "EXECUTE_PROCESS (COMMAND git clone -q \${PROJECT_SOURCE_DIR}/${PKG_RPATH}/${GREPO_DIR} \${PROJECT_SOURCE_DIR}/${UNZIP_DIR}/${GREPO_PRE})"
|
||||
echo ""
|
||||
done)
|
||||
EOB
|
||||
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
$(for i in ${DEF_CFLAGS}; do
|
||||
echo "ADD_DEFINITIONS (${i})"
|
||||
done)
|
||||
|
||||
EOB
|
||||
|
||||
if [ "${COMP_LIB_NAME}" != "" ]; then
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
$(for i in ${COMP_LIB_COMPONENTS}; do
|
||||
echo "ADD_SUBDIRECTORY (${i})"
|
||||
done)
|
||||
|
||||
EOB
|
||||
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
$(for i in ${SUBDIRS}; do
|
||||
if [ ! -d ${TOP_DIR}/${i} ]; then
|
||||
continue
|
||||
fi
|
||||
if echo ${COMP_LIB_COMPONENTS} | grep -qw ${i}; then
|
||||
continue
|
||||
fi
|
||||
if [ "$i" = "tests" ]; then
|
||||
continue
|
||||
fi
|
||||
echo "ADD_SUBDIRECTORY (${i})"
|
||||
done)
|
||||
|
||||
EOB
|
||||
|
||||
cat << EOB >> ${TARGET_FILE}
|
||||
ADD_LIBRARY (${COMP_LIB_NAME} SHARED
|
||||
$(for i in ${SEP_LIBS}; do
|
||||
j=${i%.a}
|
||||
j=${j#lib}
|
||||
echo " \$<TARGET_OBJECTS:${j}>"
|
||||
done)
|
||||
)
|
||||
if(WIN32)
|
||||
TARGET_LINK_LIBRARIES (${COMP_LIB_NAME} ws2_32)
|
||||
endif(WIN32)
|
||||
|
||||
TARGET_LINK_LIBRARIES (${COMP_LIB_NAME} iot_hal)
|
||||
|
||||
SET (LIBRARY_OUTPUT_PATH ./out)
|
||||
EOB
|
||||
fi
|
@@ -0,0 +1,65 @@
|
||||
#! /bin/bash
|
||||
|
||||
if [ $# != 2 ]; then echo "$# != 2"; exit 1; fi
|
||||
if [ ! -f $1 ]; then echo "$1 not exist"; exit 2; fi
|
||||
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
SED=gsed
|
||||
else
|
||||
SED=sed
|
||||
fi
|
||||
|
||||
BLDV=$1
|
||||
CMDV=$2
|
||||
|
||||
if [ "${CMDV}" = "list" ]; then
|
||||
grep "^PKG_UPSTREAM_[-/_a-zA-Z0-9]*" ${BLDV} \
|
||||
| ${SED} 's/^PKG_UPSTREAM_\([^ ]*\) = \(.*\)$/[\1] \2/g'
|
||||
fi
|
||||
|
||||
REPO_LIST=$( \
|
||||
grep "^PKG_UPSTREAM_[-/_a-zA-Z0-9]*" ${BLDV} \
|
||||
| ${SED} 's/^PKG_UPSTREAM_\([^ ]*\) = \(.*\)$/[\1] \2/g' \
|
||||
| cut -d' ' -f1 \
|
||||
| ${SED} 's/\[//g;s/\]//g;' \
|
||||
)
|
||||
|
||||
if [ "${CMDV}" = "update" ]; then
|
||||
echo "Select repository to be updated, type 1 to update all repositories"|grep --color ".*"
|
||||
echo ""
|
||||
select O in "ALL REPOS" ${REPO_LIST}; do
|
||||
echo ""
|
||||
echo "Updating $O ..."|grep --color ".*"
|
||||
echo ""
|
||||
break
|
||||
done
|
||||
|
||||
if [ "${O}" = "ALL REPOS" ]; then
|
||||
O=""
|
||||
fi
|
||||
REPOS=$(grep -o "^PKG_UPSTREAM_[-/_a-zA-Z0-9]*" ${BLDV}|grep "${O}"|sort -u|${SED} 's:PKG_UPSTREAM_::')
|
||||
for R in ${REPOS}; do
|
||||
UPSTREAM=$(grep -m 1 "^PKG_UPSTREAM_${R}" ${BLDV}|awk '{ print $NF }')
|
||||
SOURCE=$(grep -m 1 "^PKG_SOURCE_${R}" ${BLDV}|awk '{ print $NF }')
|
||||
BRANCH=$(grep -m 1 "^PKG_BRANCH_${R}" ${BLDV}|awk '{ print $NF }')
|
||||
[ "${BRANCH}" = "" ] && BRANCH="master"
|
||||
|
||||
echo "[ ${SOURCE} ] <= : ${UPSTREAM} :: ${BRANCH}"
|
||||
set -x
|
||||
cd ${PACKAGE_DIR}
|
||||
rm -rf ${SOURCE}
|
||||
|
||||
# --single-branch might doesn't exist for git <= 1.7.9.5
|
||||
#
|
||||
# git clone -q --bare -b ${BRANCH} --single-branch ${UPSTREAM} ${SOURCE}
|
||||
git clone -q --bare -b ${BRANCH} ${UPSTREAM} ${SOURCE}
|
||||
rm -rf ${SOURCE}/hooks/
|
||||
mkdir -p ${SOURCE}/hooks/
|
||||
touch ${SOURCE}/hooks/.gitkeep
|
||||
touch ${SOURCE}/refs/{heads,tags}/.gitkeep
|
||||
|
||||
rm -rf ${TOP_DIR}.pkgs/${SOURCE/.git}
|
||||
cd ${OLDPWD}
|
||||
set +x
|
||||
done
|
||||
fi
|
98
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/settings.mk
vendored
Normal file
98
components/connectivity/iotkit-embedded-3.0.1/3rdparty/tools/build-rules/settings.mk
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
# Basic Settings
|
||||
#
|
||||
SHELL := /bin/bash
|
||||
TOP_DIR ?= $(CURDIR)
|
||||
|
||||
ifeq (Darwin,$(strip $(shell uname)))
|
||||
SED := gsed
|
||||
STRIP_DBGOPT :=
|
||||
else
|
||||
SED := sed
|
||||
STRIP_DBGOPT := --strip-dwo
|
||||
endif
|
||||
|
||||
# Settings of input directory and file
|
||||
#
|
||||
RULE_DIR ?= $(TOP_DIR)/build-rules
|
||||
CONFIG_DIR ?= $(TOP_DIR)/configs
|
||||
PACKAGE_DIR ?= $(TOP_DIR)/packages
|
||||
IMPORT_DIR ?= $(TOP_DIR)/import
|
||||
MAKE_SEGMENT ?= iot.mk
|
||||
DOXYGEN_DIR ?= $(TOP_DIR)
|
||||
|
||||
ifeq ($(shell [ ! -d $(CONFIG_DIR) ] && echo y),y)
|
||||
DEFAULT_BLD := $(RULE_DIR)/misc/config.generic.default
|
||||
endif
|
||||
|
||||
# Settings of project information
|
||||
PRJ_NAME ?= LITE-build.prj
|
||||
PRJ_VERSION ?= LITE-build.ver
|
||||
|
||||
# Settings of output directory
|
||||
#
|
||||
CONFIG_TPL := $(TOP_DIR)/.config
|
||||
OUTPUT_DIR ?= $(TOP_DIR)/.O
|
||||
SHADOW_DIR ?= workspace
|
||||
DIST_DIR ?= $(TOP_DIR)/output
|
||||
LCOV_DIR ?= Coverage
|
||||
FINAL_DIR ?= $(DIST_DIR)/release
|
||||
|
||||
# Setting of directory for flat modules
|
||||
#
|
||||
bindir = /usr/bin
|
||||
libdir = /usr/lib
|
||||
incdir = /usr/include
|
||||
|
||||
# Setting of build process control
|
||||
#
|
||||
COMPILE_LOG := compile.log
|
||||
WARNING_LOG := warnings.log
|
||||
HD_MAKEFILE := makefile
|
||||
TOP_MAKEFILE := makefile
|
||||
|
||||
STAMP_PRJ_CFG := $(OUTPUT_DIR)/.just.configured
|
||||
STAMP_BLD_ENV := $(OUTPUT_DIR)/.sub-build.env
|
||||
STAMP_BLD_VAR := $(OUTPUT_DIR)/.sub-build.vars
|
||||
STAMP_LCOV := $(OUTPUT_DIR)/.coverage.done
|
||||
STAMP_UNPACK := .unpack.done
|
||||
STAMP_CONFIG := .config.done
|
||||
STAMP_CMAKE := .cmake_section
|
||||
STAMP_BUILD := .build.done
|
||||
STAMP_INSTALL := .install.done
|
||||
STAMP_POSTINS := .post.install.done
|
||||
STAMP_SHIELD := .shield.done
|
||||
STAMP_POST_RULE := $(OUTPUT_DIR)/.post-rules.mk
|
||||
STAMP_DIR := $(OUTPUT_DIR)/stamps
|
||||
STAMP_ONE_MK := $(OUTPUT_DIR)/.one_makefile
|
||||
|
||||
ifdef DEBUG
|
||||
AUTO_HEADER_Q :=
|
||||
ORIGIN_Q :=
|
||||
SHELL_DBG := set -x;
|
||||
Q :=
|
||||
TOP_Q :=
|
||||
else
|
||||
Q := @
|
||||
TOP_Q := @
|
||||
endif
|
||||
|
||||
ifdef DEBUG_SHELL
|
||||
SHELL_DBG := set -x;
|
||||
endif
|
||||
|
||||
# Setting of downloading toolchains
|
||||
TOOLCHAIN_DLDIR := $(OUTPUT_DIR)/compiler
|
||||
|
||||
# Setting of directory for origin modules
|
||||
#
|
||||
export INSTALL_DIR = $(OUTPUT_DIR)/usr
|
||||
export INSTALL_BIN_DIR = $(INSTALL_DIR)/bin
|
||||
export INSTALL_LIB_DIR = $(INSTALL_DIR)/lib
|
||||
|
||||
# Setting of cmake auto-generation
|
||||
#
|
||||
CMAKE_EXPORT_LIBS := \
|
||||
src/ref-impl/hal \
|
||||
src/ref-impl/tls \
|
||||
|
||||
include $(RULE_DIR)/funcs.mk
|
Reference in New Issue
Block a user