shell脚本实现makefile功能

makefile方便快捷,其实方法也就是shell那一套,例如下面这段代码就是shell实现的类似makefile的功能:

文件名:compile.sh

#!/bin/csh -f

#input none, echo the tips.
if($#argv == 0) then
    echo "pls input parameter, example: ./compile vcs or dve or clean"
#input vcs, execute the vcs compile.
else if($1 == vcs) then
    echo "input parameter is vcs: vcs compile begin..."
    vcs ./de/div_clk.v ./dv/div_clk_tb.v -full64 -debug_access+all |tee vcs.log
#input dve, open the dve gui.
else if($1 == dve) then
    if(! -f "simv") then
        echo "pls input "./compile vcs" first"
    else
        echo "input parameter is dve: dve gui open..."
        ./simv -gui &
    endif
#input clean, delete the old tool's files.
else if($1 == clean) then
    echo "input parameter is clean: clean files..."
    rm  -rf  *~  core  csrc simv*  vc_hdrs.h  ucli.key  urg* *.log  novas.* *.fsdb* verdiLog  64* DVEfiles *.vpd
#input is not vcs/dve/clean, echo the tips.
else
    echo "pls input correct parameter: vcs or dve or clean"
endif

 注意最好在文件内容最后一行多敲一行回车,避免有些系统不识别该脚本。

使用方法和 makefile 类似,例如terminal下输入./compile.sh vcs就能够执行vcs编译。

posted @ 2023-06-18 22:06  咸鱼IC  阅读(34)  评论(0)    收藏  举报