config.mk最后一段问题

lzg371 2011-05-13 04:07:38
在uboot根目录的config.mk文件中最后一段是

#########################################################################

export HOSTCC HOSTCFLAGS HOSTLDFLAGS PEDCFLAGS HOSTSTRIP CROSS_COMPILE \
AS LD CC CPP AR NM STRIP OBJCOPY OBJDUMP MAKE
export CONFIG_SYS_TEXT_BASE PLATFORM_CPPFLAGS PLATFORM_RELFLAGS CPPFLAGS CFLAGS AFLAGS ######################################################################### # Allow boards to use custom optimize flags on a per dir/file basis
BCURDIR = $(subst $(SRCTREE)/,,$(CURDIR:$(obj)%=%))
$(obj)%.s: %.S
$(CPP) $(AFLAGS) $(AFLAGS_$(BCURDIR)/$(@F)) $(AFLAGS_$(BCURDIR)) \
-o $@ $<
$(obj)%.o: %.S
$(CC) $(AFLAGS) $(AFLAGS_$(BCURDIR)/$(@F)) $(AFLAGS_$(BCURDIR)) \
-o $@ $< -c
$(obj)%.o: %.c
$(CC) $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
-o $@ $< -c
$(obj)%.i: %.c
$(CPP) $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
-o $@ $< -c
$(obj)%.s: %.c
$(CC) $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
-o $@ $< -c -S

其中有几个问题
1.在export那一行,像PEDCFLAGS和HOSTLDFLAGS这些输出变量在这个文件和顶层makefile中都没有找到,请问这样没有问题吗?
2. BCURDIR = $(subst $(SRCTREE)/,,$(CURDIR:$(obj)%=%))
这句CUDIR我在config.mk和makfile中也都没有找到。
3. $(CPP) $(AFLAGS) $(AFLAGS_$(BCURDIR)/$(@F)) $(AFLAGS_$(BCURDIR)) \
-o $@ $<
这句话中的@F是什么意思呢?
4. $(obj)%.s: %.c
$(CC) $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
-o $@ $< -c -S
怎么到最后多个-c -S 这些如果放在gcc后面我可以理解,但是放在最后是什么意思?
...全文
117 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshi_ziyu 2012-03-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lzg371 的回复:]

CUDIR好像不是GUN MAKE默认的环境变量,
[/Quote]
不知道解决没
lzg371 2012-03-06
  • 打赏
  • 举报
回复
CUDIR好像不是GUN MAKE默认的环境变量,
wangle315065 2011-05-31
  • 打赏
  • 举报
回复
1:没有就是空的,有什么问题
2:CUDIR是GUN MAKE默认的环境变量,在哪里都找不到,自动生成
3:#$(@F)
#表示"$@"的文件部分,如果"$@"值是"dir/foo.o",那么"$(@F)"就是"foo.o","$(@F)"
#相当于函数"$(notdir $@)"。
4:放在那里都是一样的,执行make的时候先要把这些参数挑出来,才运行的

21,618

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧