从品牌网站建设到网络营销策划,从策略到执行的一站式服务
1.获取 系统 位数
巴马网站建设公司创新互联,巴马网站设计制作,有大型网站制作公司丰富经验。已为巴马上千余家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的巴马做网站的公司定做!
ARCH =x64
ifeq ($(shell getconf LONG_BIT), 32)
ARCH = x86
endif
all:
ifeq ($(ARCH),x64)
echo "x64"
else
echo "x86"
endif
备注 这里 的 标红部分不能有缩进,否则 会引起、
ifeq (x64, x64)
/bin/sh: -c: line 0: syntax error near unexpected token `x64,'
/bin/sh: -c: line 0: `ifeq (x64, x64)'
原因
Makefile中,当 ifeq, else 和 endif 没有缩进时,make会正确识别它们,将其作为分支选择的标识
当 ifeq, else 和 endif 有缩进时,make将它们当做普通的shell script
参考http://blog.csdn.net/yasi_xi/article/details/39155529 感谢博主
2. make 遍历 目录
有时候,在开发目录,依赖的 动态库 是 放在不同的 子目录下,防止混淆,便于管理,但发布到现网时,又希望这写依赖库能放到同一个 目录lib下,
在makefile 尾部 增加 下述,可以遍历 依赖库 子目录,并拷贝其 lib.so, 注,要求 所有的 依赖库子目录下都有 lib子目录
DEP_DIRS := $(shell ls ./dep/)
DEP_LIB_CP:
for dir_dep in $(DEP_DIRS);\
do \
cp -f ./dep/$$dir_dep/lib/lib* ./lib/; \
done \
3.make 传参数 和多个condition
make args=value
举例
ifeq ($(VV),suse32) echo $(VV) else ifeq ($(VV), suse64) echo $(VV) else echo $(VV) endif endif
make VV=suse32 输出suse32
make VV=suse64 输出suse64
make VV=other 输出other
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图