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编译。

浙公网安备 33010602011771号