about summary refs log tree commit diff
path: root/make/lib/link.sh
diff options
context:
space:
mode:
Diffstat (limited to 'make/lib/link.sh')
-rw-r--r--make/lib/link.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/make/lib/link.sh b/make/lib/link.sh
new file mode 100644
index 0000000000..a48f750f41
--- /dev/null
+++ b/make/lib/link.sh
@@ -0,0 +1,21 @@
+. $stdenv/setup
+
+shopt -s nullglob
+
+objs=
+for i in $objects; do
+    obj=$(echo $i/*.o)
+    objs="$objs $obj"
+done
+
+libs=
+for i in $libraries; do
+    lib=$(echo $i/*.a; echo $i/*.so)
+    name=$(echo $(basename $lib) | sed -e 's/^lib//' -e 's/.a$//' -e 's/.so$//')
+    libs="$libs -L$(dirname $lib) -l$name" 
+done
+
+echo "linking object files into \`$programName'..."
+
+mkdir $out
+gcc -o $out/$programName $objs $libs