- #!/bin/bash
- #Program
- #Thisprogramconfigoltproductstype
- #VersionV1.0
- #Authorzhaoxiaohu
- #History
- #2018/01/29Firstrelease
- exportSWHOME=$(cd`dirname$0`;pwd)
- echo"exportSWHOME=$SWHOME"
- echo""
- echo"[1]makeEPON"
- echo"[2]makeXGEPON"
- echo"[0]makeclean"
- read-p"SelectProductTypeNO.:"ProductType
- #1代表epon,2代表xgepon,3代码clean
- if[$ProductType-eq1];then
- PRODUCT=EPON
- PRODUCT_TYPE=EPON
- elif[$ProductType-eq2];then
- PRODUCT=XGEPON
- PRODUCT_TYPE=XGEPON
- elif[$ProductType-eq0];then
- makeclean
- echo"============================="
- echo"MakeCleanSuccessfully!!"
- echo"============================="
- exit0
- else
- echo"SelectError!"
- exit0
- fi
- echo"Youselectmake${PRODUCT}"
- readLINE_READ<${SWHOME}/products_config.h
- LINE_WRITE="#definePRODUCT_CLASSPRODUCTS_${PRODUCT}"
- #生成.h文件,里面#define你的选择
- if["$LINE_READ"!="$LINE_WRITE"]
- then
- echo-e"$LINE_WRITE">${SWHOME}/products_config.h
- fi
- functionmake_product(){
- ifmake$1
- then
- echo"============================="
- echo"make${PRODUCT}successfully!!"
- echo"============================="
- else
- echo"====================="
- echo"make${PRODUCT}error!"
- echo"====================="
- fi
- }
- sleep1
- if[${PRODUCT}=="EPON"]
- then
- make_product"v=EPON"
- elif[${PRODUCT}=="XGEPON"]
- then
- make_product"v=XGEPON"
- else
- echo"SelectError!"
- exit0
- fi
解释:这个方法是一个简单的区分不同设备去执行不同代码段;还有一种在Makefile中定义宏的方法。
目的:我现在要区分两个不同的设备,xgepon和epon,通过执行这个脚本的选项,你可以生成一个文件
- /products_config.h