]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - build-lincan.sh
Added script to build LinCAN project independent of OCERA tree.
[lincan.git] / build-lincan.sh
diff --git a/build-lincan.sh b/build-lincan.sh
new file mode 100755 (executable)
index 0000000..406af34
--- /dev/null
@@ -0,0 +1,36 @@
+SOURCE_DIRS="lincan"
+OMK_RULES_DIR=omk/rules/linux
+BUILD_DIR=lincan-build/native
+
+SOURCE_PATHS+=" $SOURCE_DIRS"
+SOURCE_PATHS+=" $(echo $OMK_RULES_DIR/*)"
+
+TOP_RELATIVE="$( echo "$BUILD_DIR" | sed -n -e 's#[^/]*/[^/]*#../#pg' ).."
+
+echo "SOURCE_PATHS=$SOURCE_PATHS"
+echo "TOP_RELATIVE=$TOP_RELATIVE"
+
+mkdir -p "$BUILD_DIR" || exit 1
+
+for i in $SOURCE_PATHS ; do
+  b="$(basename $i)"
+  if [ ! -e "$BUILD_DIR/$b" ] ; then
+    echo "$BUILD_DIR : ln -s $TOP_RELATIVE/$i $b"
+    ( cd "$BUILD_DIR" && ln -s "$TOP_RELATIVE/$i" "$b" ) || exit 1
+  fi
+done
+
+for i in $SOURCE_DIRS ; do
+  b="$(basename $i)"
+  if ! grep -s "\<$b\>" "$BUILD_DIR/Makefile.omk" ; then
+    echo "SUBDIRS += $b" >>"$BUILD_DIR/Makefile.omk" || exit 1
+  fi
+done
+
+if [ ! -e "$BUILD_DIR/Makefile" ] ; then
+  cp omk/Makefile "$BUILD_DIR/Makefile"
+fi
+
+( cd "$BUILD_DIR" && make default-config ) || exit 1
+
+( cd "$BUILD_DIR" && make ) || exit 1