mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	
		
			
	
	
		
			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 |