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:
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
|
Reference in New Issue
Block a user