Makefile:416: *** mixed implicit and normal rules: deprecated syntax

Ubuntu 16.04.2編譯環境  arm-linux3.4.5  linux-2.6.22.6

    在編譯linux-2.6.22.6版本內核源碼時,根據自己板子需要patch打補丁之後,進行默認配置,即運行

myroot@myroot:~/system/kernel/linux-2.6.22.6$:~/system/kernel/linux-2.6.22.6$ make s3c2410_defconfig  

    時,出現如下錯誤提示:

Makefile:416: *** mixed implicit and normal rules: deprecated syntax
Makefile:1449: *** mixed implicit and normal rules: deprecated syntax

google了一下,得知是因爲所用版本linux-2.6.22.6算比較舊的版本,而我使用的make使用-v參數可以看到

GNU Make 4.1 

是屬於新版本,對於舊版本內核源碼的make的一些規則做了修改,所以出現了這種錯誤提示,所以需要對內核源碼的主Makefile做出如下修改:

首先是第一個錯誤,按照提示定位到416行,看到如下代碼:

config %config: scripts_basic outputmakefile FORCE

這裏需要修改爲

%config %config: scripts_basic outputmakefile FORCE

然後是提示的1449行,代碼如下:

/ %/: prepare scripts FORCE

這裏需要修改爲

 %/: prepare scripts FORCE

完成後再次執行make s3c2410_defconfig,即可看到配置順利進行

#
# configuration written to .config
#


由於學習階段使用舊版本的源碼會比較多,而使用的編譯環境和相關工具又是比較新的,這個問題在目前遇到的其他舊版本源碼的Makefile也有遇見過,可以進行類似方法解決。


歡迎交流、討論或者指正!共同進步!


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