Spresenseカーネルの再ビルドでmake buildkernel でのエラー


カーネルのコンフィグレーションを変更して再ビルドすると下記のエラーに成ります。

[code]

    make[2]: ディレクトリ '/home/soeta/MyHome/tools/spresense/nuttx/sched' に入ります
    make[2]: *** 'clock_initialize.o' に必要なターゲット '/home/soeta/MyHome/spresense/nuttx/include/nuttx/config.h' を make するルールがありません.  中止.
    make[2]: ディレクトリ '/home/soeta/MyHome/tools/spresense/nuttx/sched' から出ます
    LibTargets.mk:68: ターゲット 'sched/libsched.a' のレシピで失敗しました
    make[1]: *** [sched/libsched.a] エラー 2
    make[1]: ディレクトリ '/home/soeta/MyHome/tools/spresense/nuttx' から出ます
    Makefile:131: ターゲット 'buildkernel' のレシピで失敗しました
    make: *** [buildkernel] エラー 2
    
[/code]

上記のディレクトリに新しく生成されたconfig.h は，存在します。

対処方法を教えて下さい。

以上よろしくお願いします。




なぜか nuttx/sched/Make.dep のmake依存関係ファイルが壊れてしまったとかでしょうか。

[code]

    $ make distcleankernel
    
[/code]

してから再度カーネルのコンフィグレーションからやり直してみるのが良いと思います。

distcleankernelするとコンフィグレーションファイル(nuttx/.config)も削除されてしまうので、  
それを避けたい場合は、

[code]

    $ cd sdk
    $ ./tools/mkdefconfig.py -k tmp 
    
[/code]

と、configs/kernel/tmp-defconfig に一旦コンフィグレーションファイルを保存しておいてから、

[code]

    $ make distcleankernel
    $ ./tools/config.py -k tmp
    $ make buildkernel
    
[/code]

とカーネルビルドをやり直してみてください

