97 lines
2.1 KiB
Plaintext
97 lines
2.1 KiB
Plaintext
|
#!/bin/sh
|
||
|
|
||
|
[ "x${SED}" = "x" ] && SED=sed
|
||
|
[ "x${GREP}" = "x" ] && GREP=grep
|
||
|
[ "x${REALPATH}" = "x" ] && REALPATH=realpath
|
||
|
[ "x${DIRNAME}" = "x" ] && DIRNAME=dirname
|
||
|
[ "x${BASENAME}" = "x" ] && BASENAME=basename
|
||
|
[ "x${GREP}" = "x" ] && GREP=grep
|
||
|
if [ "x${TARGET_NAME}" = "x" ] ; then
|
||
|
if [ ! -f build.mak ] ; then
|
||
|
exit 0;
|
||
|
fi
|
||
|
TARGET_NAME=$(${SED} -n -r -e "s/export\s+TARGET_NAME\s*:=\s*(.*)/\1/gp" build.mak)
|
||
|
fi
|
||
|
|
||
|
getlibname() {
|
||
|
dep="$1"
|
||
|
libdir=$(${DIRNAME} $(${DIRNAME} "${dep}"))/lib
|
||
|
depname=$(${BASENAME} "${dep}")
|
||
|
depprefix="${depname%%-${TARGET_NAME}.depend}"
|
||
|
case ${depprefix} in
|
||
|
.pjlib)
|
||
|
libfile=libpj
|
||
|
;;
|
||
|
.pjsua-lib)
|
||
|
libfile=libpjsua
|
||
|
;;
|
||
|
.*)
|
||
|
libfile=lib${depprefix#.*}
|
||
|
;;
|
||
|
esac
|
||
|
echo "${libdir}/${libfile}-${TARGET_NAME}.a"
|
||
|
}
|
||
|
|
||
|
gendepfile() {
|
||
|
pjdf="$1"
|
||
|
astdf="${pjdf%*.depend}.astdep"
|
||
|
dirname=$(${DIRNAME} "${astdf}")
|
||
|
lines=$(grep -E -o -- "[.][.]/[^ ]+" "${pjdf}" | sort -u | wc -l)
|
||
|
libname=$(getlibname "${pjdf}")
|
||
|
backslash="\\"
|
||
|
echo "${libname}: ${backslash}" >"${astdf}"
|
||
|
for dep in $(grep -E -o -- "[.][.]/[^ ]+" "${pjdf}" | sort -u) ; do
|
||
|
( echo "${dep}" | grep -Eq "(test|/bin/)" ; ) && continue
|
||
|
newdep=$( cd "${dirname}" ; ${REALPATH} -L --relative-to=../../ "${dep}" ; )
|
||
|
lines=$(( ${lines} - 1 ))
|
||
|
if [ ${lines} -eq 0 ] ; then
|
||
|
echo "source/${newdep}" >>"${astdf}"
|
||
|
else
|
||
|
echo "source/${newdep} ${backslash}" >>"${astdf}"
|
||
|
fi
|
||
|
done
|
||
|
echo >>"${astdf}"
|
||
|
}
|
||
|
|
||
|
getpjdepname () {
|
||
|
lib="$1"
|
||
|
builddir=$(${DIRNAME} $(${DIRNAME} "${lib}"))/build
|
||
|
libname=$(${BASENAME} "${lib}")
|
||
|
libprefix="${libname%%-${TARGET_NAME}.a}"
|
||
|
nolib=$(echo "${libprefix}" | ${SED} -r -e "s@^lib@@g")
|
||
|
case ${nolib} in
|
||
|
pj)
|
||
|
depfile=.pjlib
|
||
|
;;
|
||
|
pjsua)
|
||
|
depfile=.pjsua-lib
|
||
|
;;
|
||
|
resample)
|
||
|
depfile=resample/.libresample
|
||
|
;;
|
||
|
*)
|
||
|
depfile=.${nolib}
|
||
|
;;
|
||
|
esac
|
||
|
echo "${builddir}/${depfile}-${TARGET_NAME}.depend"
|
||
|
}
|
||
|
|
||
|
case $1 in
|
||
|
getpjdepname)
|
||
|
shift
|
||
|
for lib in $@ ; do getpjdepname "${lib}" ; done
|
||
|
;;
|
||
|
gendepfile)
|
||
|
shift
|
||
|
for dep in $@ ; do gendepfile "${dep}" ; done
|
||
|
;;
|
||
|
getlibname)
|
||
|
shift
|
||
|
for dep in $@ ; do getlibname "${dep}" ; done
|
||
|
;;
|
||
|
*)
|
||
|
echo Invalid command
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|