diff --git a/scripts/admb/admb b/scripts/admb/admb index d4062441d..a20392286 100755 --- a/scripts/admb/admb +++ b/scripts/admb/admb @@ -99,6 +99,7 @@ shift $((OPTIND-1)) tpls= srcs= objs= +libs= nontpls= for file in $* @@ -111,6 +112,8 @@ do elif [ "${file: -2}" = ".o" -o "${file: -4}" = ".obj" ]; then objs="$objs $file" nontpls="$nontpls $file" + elif [ "${file: -2}" = ".a" ]; then + libs="$libs $file" else tpls="$tpls $file" fi @@ -524,6 +527,9 @@ do fi fi fi + if [ ! -z "$libs" ]; then + CMD="$CMD $libs" + fi echo -e \*\*\* Linking: $file $objs\\n$CMD\\n eval $CMD if [[ -z $dll ]]; then @@ -634,6 +640,9 @@ if [[ "$tplobjs" == "" ]]; then fi fi fi + if [ ! -z "$libs" ]; then + CMD="$CMD $libs" + fi echo -e \*\*\* Linking: $listobjs\\n$CMD\\n eval $CMD if [ ! -z "$output" ]; then diff --git a/scripts/admb/admb.bat b/scripts/admb/admb.bat index 51f954a40..8c418c7d5 100644 --- a/scripts/admb/admb.bat +++ b/scripts/admb/admb.bat @@ -128,6 +128,23 @@ for %%a in (%*) do ( ) ) ) + if "!CXX!"=="cl" ( + if "%%~xa"==".lib" ( + if not defined option_libs ( + set option_libs=!arg! + ) else ( + option_libs=!option_libs! !arg! + ) + ) + ) else ( + if "%%~xa"==".a" ( + if defined option_libs ( + set option_libs=!arg! + ) else ( + option_libs=!option_libs! !arg! + ) + ) + ) if "%%~xa"==".exe" ( if defined option_o ( set output=!arg! @@ -657,7 +674,10 @@ if not defined tpls ( ) ) ) - echo.&echo *** Linking: !objs! + if defined option_libs ( + CMD=!CMD! !option_libs! + ) + echo.&echo *** Linking: !objs! !option_libs! echo !CMD! call !CMD! || goto ERROR if defined d ( @@ -734,10 +754,13 @@ if not defined tpls ( ) ) ) + if defined option_libs ( + CMD=!CMD! !option_libs! + ) if defined objs ( - echo.&echo *** Linking: !tpl!.obj !objs! + echo.&echo *** Linking: !tpl!.obj !objs! !option_libs! ) else ( - echo.&echo *** Linking: !tpl!.obj + echo.&echo *** Linking: !tpl!.obj !option_libs! ) echo !CMD! call !CMD! || goto ERROR diff --git a/scripts/admb/admb.sh b/scripts/admb/admb.sh index 9082bad91..ef9e59ea5 100644 --- a/scripts/admb/admb.sh +++ b/scripts/admb/admb.sh @@ -111,6 +111,8 @@ do elif [ "${file: -2}" = ".o" -o "${file: -4}" = ".obj" ]; then objs="$objs $file" nontpls="$nontpls $file" + elif [ "${file: -2}" = ".a" ]; then + libs="$libs $file" else tpls="$tpls $file" fi @@ -526,6 +528,9 @@ do fi fi fi + if [ ! -z "$libs" ]; then + CMD="$CMD $libs" + fi echo -e \*\*\* Linking: $file $objs\\n$CMD\\n eval $CMD if [[ -z $dll ]]; then @@ -636,6 +641,9 @@ if [[ "$tplobjs" == "" ]]; then fi fi fi + if [ ! -z "$libs" ]; then + CMD="$CMD $libs" + fi echo -e \*\*\* Linking: $listobjs\\n$CMD\\n eval $CMD if [ ! -z "$output" ]; then