summaryrefslogtreecommitdiff
path: root/tools/gen-deps.sh
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2015-08-12 19:58:54 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2015-08-12 19:58:54 +0000
commit6a8e5680de416f04efac008c1a2894ca7cbff9c7 (patch)
tree63ed3cef4e33231defeae16f6fdfe9f78a4f5569 /tools/gen-deps.sh
parent2fc42cddaf853318e76613fa17500ab412ef8f19 (diff)
downloads6-linux-init-6a8e5680de416f04efac008c1a2894ca7cbff9c7.tar.xz
Link shared libs against their -l deps, better libpath management
Diffstat (limited to 'tools/gen-deps.sh')
-rwxr-xr-xtools/gen-deps.sh14
1 files changed, 10 insertions, 4 deletions
diff --git a/tools/gen-deps.sh b/tools/gen-deps.sh
index 1ca66ea..f8cf5ee 100755
--- a/tools/gen-deps.sh
+++ b/tools/gen-deps.sh
@@ -57,11 +57,17 @@ echo
for dir in $(ls -1 src | grep -v ^include) ; do
for file in $(ls -1 src/$dir/deps-lib) ; do
deps=
+ libs=
while read dep ; do
- deps="$deps src/$dir/$dep"
+ if echo $dep | grep -q -e ^-l -e '^\${.*_LIB}' ; then
+ libs="$libs $dep"
+ else
+ deps="$deps src/$dir/$dep"
+ fi
done < src/$dir/deps-lib/$file
- echo "lib$file.a.xyzzy: $deps"
- echo "lib${file}.so.xyzzy: $(echo "$deps" | sed 's/\.o/.lo/g')"
+ echo "lib${file}.a.xyzzy:$deps"
+ echo "lib${file}.so.xyzzy: private EXTRA_LIBS :=$libs"
+ echo "lib${file}.so.xyzzy:$(echo "$deps" | sed 's/\.o/.lo/g')"
done
for file in $(ls -1 src/$dir/deps-exe) ; do
@@ -71,7 +77,7 @@ for dir in $(ls -1 src | grep -v ^include) ; do
if echo $dep | grep -q -- \\.o$ ; then
dep="src/$dir/$dep"
fi
- if echo $dep | grep -q '^\${.*_LIB}' ; then
+ if echo $dep | grep -q -- '^\${.*_LIB}' ; then
libs="$libs $dep"
else
deps="$deps $dep"