$(srctree) is not clean, please run 'make mrproper'

在使用make menuconfig重新配置後,再編譯kernel時常會遇到這樣的問題:

Using /home/likewise-open/BJS/lisa.liu/code/sprdroid4.0.3_vlx_3.0_13a/kernel as source for kernel
/home/likewise-open/BJS/lisa.liu/code/sprdroid4.0.3_vlx_3.0_13a/kernel is not clean, please run 'make mrproper'

分析:

這條語句來自kernel目錄下的Makefile:

ifneq ($(KBUILD_SRC),)
    @$(kecho) '  Using $(srctree) as source for kernel'
    $(Q)if [ -f $(srctree)/.config -o -d $(srctree)/include/config ]; then \
        echo "  $(srctree) is not clean, please run 'make mrproper'";\
        echo "  in the '$(srctree)' directory.";\
        /bin/false; \
    fi;
endif


仔細閱讀這句話:

    $(Q)if [ -f $(srctree)/.config -o -d $(srctree)/include/config ]; then \
        echo "  $(srctree) is not clean, please run 'make mrproper'";\
        echo "  in the '$(srctree)' directory.";\

也就是說如果kernel目錄下存在.config文件或者kernel/include目錄下存在config目錄,則會打印後面的

        echo "  $(srctree) is not clean, please run 'make mrproper'";\
        echo "  in the '$(srctree)' directory.";\

解決方案:

檢查這兩處,刪掉對應的文件和目錄即可


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章