mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
add library
This commit is contained in:
parent
d5a02a55ee
commit
aa5d28ed85
6 changed files with 161 additions and 3 deletions
4
trunk/auto/generate_header.sh
Executable file
4
trunk/auto/generate_header.sh
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
# genereate the library header file.
|
||||
|
||||
objs=$1
|
79
trunk/auto/libs.sh
Executable file
79
trunk/auto/libs.sh
Executable file
|
@ -0,0 +1,79 @@
|
|||
# generate the library for static link.
|
||||
#
|
||||
# params:
|
||||
# $SRS_OBJS the objs directory. 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.
|
||||
# $LINK_OPTIONS the linker options to generate the so(shared library).
|
||||
|
||||
FILE=${SRS_OBJS}/${SRS_MAKEFILE}
|
||||
|
||||
LIB_TARGET="${SRS_OBJS}/${LIB_NAME}"
|
||||
LIB_TAGET_STATIC="${LIB_TARGET}.a"
|
||||
LIB_TAGET_SHARED="${LIB_TARGET}.so"
|
||||
|
||||
echo "generate lib ${LIB_NAME} depends..."
|
||||
|
||||
echo "" >> ${FILE}
|
||||
echo "# archive library ${LIB_TAGET_STATIC}" >> ${FILE}
|
||||
echo "${BUILD_KEY}: ${LIB_TAGET_SHARED}" >> ${FILE}
|
||||
|
||||
# build depends
|
||||
echo -n "${LIB_TAGET_SHARED}: " >> ${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}/$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}" >> ${FILE}
|
||||
echo "" >> ${FILE}
|
||||
|
||||
# archive librtmp.a
|
||||
echo -n " \$(AR) -rs ${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}/$item
|
||||
OBJ_FILE="${OBJ_FILE%.*}.o"
|
||||
echo -n "${OBJ_FILE} " >> ${FILE}
|
||||
done
|
||||
echo "" >> ${FILE}
|
||||
|
||||
echo "generate lib ${LIB_NAME} link...";
|
||||
|
||||
# archive librtmp.so
|
||||
echo -n " \$(GCC) -shared -o ${LIB_TAGET_SHARED} " >> ${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}/$item
|
||||
OBJ_FILE="${OBJ_FILE%.*}.o"
|
||||
echo -n "${OBJ_FILE} " >> ${FILE}
|
||||
done
|
||||
echo -n "${LINK_OPTIONS} " >> ${FILE}
|
||||
echo "" >> ${FILE}
|
||||
|
||||
echo -n "generate lib ${LIB_NAME} ok"; echo '!';
|
Loading…
Add table
Add a link
Reference in a new issue