mirror of https://github.com/ossrs/srs.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.8 KiB
Bash
65 lines
1.8 KiB
Bash
# generate the library for static link.
|
|
#
|
|
# params:
|
|
# $SRS_OBJS the objs directory to store the Makefile. ie. ./objs
|
|
# $SRS_OBJS_DIR the objs directory for Makefile. ie. objs
|
|
# $SRS_MAKEFILE the makefile name. ie. Makefile
|
|
#
|
|
# $BUILD_KEY a string indicates the build key for Makefile. ie. dump
|
|
# $LIB_NAME the app name to output. ie. smart_server
|
|
# $MODULE_OBJS array, the objects to compile the app.
|
|
|
|
FILE=${SRS_OBJS}/${SRS_MAKEFILE}
|
|
|
|
LIB_TARGET="${SRS_OBJS_DIR}/${LIB_NAME}"
|
|
LIB_TAGET_STATIC="${LIB_TARGET}.a"
|
|
|
|
echo "Generating lib ${LIB_NAME} depends."
|
|
|
|
echo "" >> ${FILE}
|
|
echo "# archive library ${LIB_TAGET_STATIC}" >> ${FILE}
|
|
echo "${BUILD_KEY}: ${LIB_TAGET_STATIC}" >> ${FILE}
|
|
echo "" >> ${FILE}
|
|
|
|
# build depends
|
|
echo -n "${LIB_TAGET_STATIC}: " >> ${FILE}
|
|
for item in ${MODULE_OBJS[*]}; do
|
|
FILE_NAME=`basename $item`
|
|
FILE_NAME=${FILE_NAME%.*}
|
|
|
|
if [ ! -f ${item} ]; then
|
|
continue;
|
|
fi
|
|
|
|
OBJ_FILE=${SRS_OBJS_DIR}/$item
|
|
OBJ_FILE="${OBJ_FILE%.*}.o"
|
|
echo -n "${OBJ_FILE} " >> ${FILE}
|
|
done
|
|
echo "" >> ${FILE}
|
|
|
|
# build header file
|
|
echo -n " @bash auto/generate_header.sh ${SRS_OBJS_DIR}" >> ${FILE}
|
|
echo "" >> ${FILE}
|
|
|
|
# archive librtmp.a
|
|
echo -n " \$(AR) \$(ARFLAGS) ${LIB_TAGET_STATIC} " >> ${FILE}
|
|
for item in ${MODULE_OBJS[*]}; do
|
|
FILE_NAME=`basename $item`
|
|
FILE_NAME=${FILE_NAME%.*}
|
|
|
|
if [ ! -f ${item} ]; then
|
|
continue;
|
|
fi
|
|
|
|
OBJ_FILE=${SRS_OBJS_DIR}/$item
|
|
OBJ_FILE="${OBJ_FILE%.*}.o"
|
|
echo -n "${OBJ_FILE} " >> ${FILE}
|
|
done
|
|
echo "" >> ${FILE}
|
|
|
|
# parent Makefile, to create module output dir before compile it.
|
|
echo " @mkdir -p ${SRS_OBJS_DIR}/include" >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
|
|
echo " @mkdir -p ${SRS_OBJS_DIR}/lib" >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
|
|
|
|
echo -n "Generate lib ${LIB_NAME} ok"; echo '!';
|