一个区分不同设备的脚本
#!/bin/bash#Program#Thisprogramconfigoltproductstype#VersionV1.0#Authorzhaoxiaohu#History#2018/01/29FirstreleaseexportSWHOME=$(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代码cleanif[$ProductType-eq1];thenPRODUCT=EPONPRODUCT_TYPE=EPONelif[$ProductType-eq2];thenPRODUCT=XGEPONPRODUCT_TYPE=XGEPONelif[$ProductType-eq0];thenmakecleanecho"============================="echo"MakeCleanSuccessfully!!"echo"============================="exit0elseecho"SelectError!"exit0fiecho"Youselectmake${PRODUCT}"readLINE_READ<${SWHOME}/products_config.hLINE_WRITE="#definePRODUCT_CLASSPRODUCTS_${PRODUCT}"#生成.h文件,里面#define你的选择if["$LINE_READ"!="$LINE_WRITE"]thenecho-e"$LINE_WRITE">${SWHOME}/products_config.hfifunctionmake_product(){ifmake$1thenecho"============================="echo"make${PRODUCT}successfully!!"echo"============================="elseecho"====================="echo"make${PRODUCT}error!"echo"====================="fi}sleep1if[${PRODUCT}=="EPON"]thenmake_product"v=EPON"elif[${PRODUCT}=="XGEPON"]thenmake_product"v=XGEPON"elseecho"SelectError!"exit0fi
解释:这个方法是一个简单的区分不同设备去执行不同代码段;还有一种在Makefile中定义宏的方法。
目的:我现在要区分两个不同的设备,xgepon和epon,通过执行这个脚本的选项,你可以生成一个文件
/products_config.h
这个文件里会有你选择的两个宏的其中一个,对应你的选项的宏,你在要区分的文件中包含这个文件,#if就可以。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。