diff --git a/init_hdl.sh b/init_hdl.sh
index 1221c746daf36c56fd1fadd110c35be565f87b32..a64c66de2f4dd00de2ea1d65ddd56f24443f9c90 100644
--- a/init_hdl.sh
+++ b/init_hdl.sh
@@ -49,11 +49,16 @@ echo "HDL environment will be setup for" $RADIOHDL_WORK
 # setup paths to build and config dir if not already defined by the user.
 export ARGS_WORK=${RADIOHDL_WORK}
 export RADIOHDL_BUILD_DIR=${RADIOHDL_WORK}/build
-
+if [[ ! -d "${RADIOHDL_BUILD_DIR}" ]]; then
+    echo "make buil dir"
+    echo "${RADIOHDL_BUILD_DIR}"
+    mkdir "${RADIOHDL_BUILD_DIR}"
+fi
 # modelsim uses this sim dir for testing
 export HDL_IOFILE_SIM_DIR=${RADIOHDL_BUILD_DIR}/sim
 if [[ ! -d "${HDL_IOFILE_SIM_DIR}" ]]; then
     echo "make sim dir"
+    echo "${HDL_IOFILE_SIM_DIR}"
     mkdir "${HDL_IOFILE_SIM_DIR}"
 fi
 # if sim dir not empty, remove all files and dirs
@@ -72,4 +77,6 @@ done
 
 # source also radiohdl and args tools
 . ../radiohdl/init_radiohdl.sh
-. ../args/init_args.sh
+if [[ -d "${RADIOHDL_WORK}/../args" ]]; then
+    . ../args/init_args.sh
+fi