当前位置: 技术问答>linux和unix
求助Makefile调试
来源: 互联网 发布时间:2016-08-28
本文导语: u-boot: depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT) UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed -n -e 's/.*(__u_boot_cmd_.*)/-u1/p'|sort|uniq`; $(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) --start-group $(LIBS) --end-group $(PLATFORM_LIBS) -Map u-boot.map -o u-...
u-boot: depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed -n -e 's/.*(__u_boot_cmd_.*)/-u1/p'|sort|uniq`;
$(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS)
--start-group $(LIBS) --end-group $(PLATFORM_LIBS)
-Map u-boot.map -o u-boot
像这个语句中LDSCRIPT在整个Makefile文件中都找不到在哪定义。请问怎么调试Makefile文件各语句?或者说怎么才能更好的理解每个语句的意思?看了一篇《makefile 的调试》,其中说到使用--print-data-base可以查看make 所运行的命令的信息,信息太多不好对单个语句进行理解。比如我只想知道上面这个语句的意思,应该怎么调试?请高手指教。
UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed -n -e 's/.*(__u_boot_cmd_.*)/-u1/p'|sort|uniq`;
$(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS)
--start-group $(LIBS) --end-group $(PLATFORM_LIBS)
-Map u-boot.map -o u-boot
像这个语句中LDSCRIPT在整个Makefile文件中都找不到在哪定义。请问怎么调试Makefile文件各语句?或者说怎么才能更好的理解每个语句的意思?看了一篇《makefile 的调试》,其中说到使用--print-data-base可以查看make 所运行的命令的信息,信息太多不好对单个语句进行理解。比如我只想知道上面这个语句的意思,应该怎么调试?请高手指教。
|
很简单,你加一个规则:
然后make test 马上可以看到该变量的内容
test:
echo $(LDSCRIPT)
然后make test 马上可以看到该变量的内容