小弟最近做TI AM3352 上面的工作,编译TI官方提供的u-boot-2013.10-ti2013.12.01,快编译到最后时提示找不到am335x_evm/include/autoconf.mk这个文件
主机环境为:ubuntu10.04
参考TI官司方网址:http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User%27s_Guide
执行的编译命令为:make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm O=am335x_evm am335x_evm_config all
最后的错误提示为:
Makefile:9: /work2/ti-sdk-am335x-evm-07.00.00.00/board-support/u-boot-2013.10-ti2013.12.01/am335x_evm/include/autoconf.mk: No such file or directory
cat /dev/null >/work2/ti-sdk-am335x-evm-07.00.00.00/board-support/u-boot-2013.10-ti2013.12.01/am335x_evm/post/.depend
make[1]: Failed to remake makefile `/work2/ti-sdk-am335x-evm-07.00.00.00/board-support/u-boot-2013.10-ti2013.12.01/am335x_evm/include/autoconf.mk'.
make[1]: Leaving directory `/work2/ti-sdk-am335x-evm-07.00.00.00/board-support/u-boot-2013.10-ti2013.12.01/post'
make[1]: Entering directory `/work2/ti-sdk-am335x-evm-07.00.00.00/board-support/u-boot-2013.10-ti2013.12.01/post'
Makefile:9: /work2/ti-sdk-am335x-evm-07.00.00.00/board-support/u-boot-2013.10-ti2013.12.01/am335x_evm/include/autoconf.mk: No such file or directory
make[1]: Failed to remake makefile `/work2/ti-sdk-am335x-evm-07.00.00.00/board-support/u-boot-2013.10-ti2013.12.01/am335x_evm/include/autoconf.mk'.
rm -f /work2/ti-sdk-am335x-evm-07.00.00.00/board-support/u-boot-2013.10-ti2013.12.01/am335x_evm/post/libpost.o; arm-linux-gnueabihf-ar rcs /work2/ti-sdk-am335x-evm-07.00.00.00/board-support/u-boot-2013.10-ti2013.12.01/am335x_evm/post/libpost.o
make[1]: Leaving directory `/work2/ti-sdk-am335x-evm-07.00.00.00/board-support/u-boot-2013.10-ti2013.12.01/post'
make: *** [/work2/ti-sdk-am335x-evm-07.00.00.00/board-support/u-boot-2013.10-ti2013.12.01/am335x_evm/post/libpost.o] Error 2
在此向各位大牛求助,感激不尽(ps:开始以为是ubuntu10.04的问题,后来安装了ubuntu12.04还是出同样的错误)
leo chen:
回复 Steven Liu1:
可能是安装包安装的问题吧,我编译也是没有问题的
helou wang:
回复 Steven Liu1:
嗯,按照你说的方法,果然可行:
先执行
make CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_evm am335x_evm_config
然后执行
make CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_evm
就可以成功编译了。但是不知道加上all不啥就不行了呢,我在Makefile中添加一些调试信息发现 这一句 mv $@.tmp $@ 没有执行成功,不知道为啥。
701 #702 # Auto-generate the autoconf.mk file (which is included by all makefiles)703 #704 # This target actually generates 2 files; autoconf.mk and autoconf.mk.dep.705 # the dep file is only include in this top level makefile to determine when706 # to regenerate the autoconf.mk file.707 $(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h708 @$(XECHO) Generating $@ ; \709 set -e ; \710 : Generate the dependancies ; \711 $(CC) -x c -DDO_DEPS_ONLY -M $(CFLAGS) $(CPPFLAGS) \712 -MQ $(obj)include/autoconf.mk include/common.h > $@713714 $(obj)include/autoconf.mk: $(obj)include/config.h715 @$(XECHO) Generating $@ ; \716 set -e ; \717 : Extract the config macros ; \718 $(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \719 sed -n -f tools/scripts/define2mk.sed > $@.tmp && \720 mv $@.tmp $@
helou wang:
回复 leo chen:
谢谢你的回复。 在可以成功编译过去了,按照楼上的方法把all去掉
执行以下两句:
make CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_evm am335x_evm_config
make CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_evm
yangyang chen1:
回复 helou wang:
学习学习了。