--- /dev/null
+SOURCE_DIRS="embedded/app embedded/arch embedded/board embedded/libs4c"
+OMK_RULES_DIR=omk/rules/sysless
+BUILD_DIR=embedded-build/can-usb1
+OMK_CONFIG=embedded/board/arm/ul_usb1/config/config.usbcan
+
+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
+
+if [ ! -e "$BUILD_DIR/config.omk" ] ; then
+ ( cd "$BUILD_DIR" && ln -s "$TOP_RELATIVE/$OMK_CONFIG" config.omk )
+fi
+
+( cd "$BUILD_DIR" && make default-config ) || exit 1
+
+( cd "$BUILD_DIR" && make ) || exit 1