$(@_config=)什么意思?
1. $(@:_config=)什么意思? 网上查到如下解释 这里使用了Makefile中的替换引用规则,类似常看到的例子 obj=$(srcfiles:%.c=%.o): 由.c得到对应的.o文件. 这里是一样的道理: $(@:_config=) @代表的是target smdk2410_config, 那么$(@:_config=)就是将smdk2410_config中的_config替换为空!得到smdk2410; 你可以用echo自己打印出来看看就明白了! smdk2410_config : unconfig @echo $(@:_config=) # 打印出来看看吧 @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0 但有一点不明白@代表目标吗?印象里好像是$@ 才代表目标,做了个测试 “ all: @echo $@ 输出是all @echo @ 输出是@ @echo $(@) 输出是all 所以我认为符号@在$()中和$@是一样的 2. 目标 :依赖 命令 命令是否可以直接是一个文件名? 做了个测试证明可以: 在外面建立一个makecfg 里面输入 echo i am here ! 在makefile 里 all: @(路径/makecfg) 输入命令make all 就会输出 i am here ! 其中unconfig是:
本文来自博客园,作者:dolinux,未经同意,禁止转载