This service is available only in Japanese-language.

ヘッダーオンリーなレシピの更新の認識について

ヘッダーオンリーライブラリのように,複数のレシピで一つのヘッダーを扱うために,以下のようなレシピを作成し運用しています。
(レシピ名:libaaa.bb)
SECTION = "libs"
LICENSE = "CLOSED"

FILES_${PN}-dev += "${includedir}/*.h "
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"

ALLOW_EMPTY_${PN} = "1"
SRC_URI = "file://."
S = "${WORKDIR}"

do_install() {
install -d ${D}${includedir}
install -m 0755 *.h ${D}${includedir}/
}

これを使用するレシピでDEPENDS += " libaaa"と記載することでビルドに成功しています。
しかしヘッダの内容(例えばenumのメンバの割当変更)等を行うと,更新が認識されていないのか,エラーは出ないものの実行結果が旧ヘッダファイル相当となってしまうことがございます。
特にビルドPCとは別のPCで作成し,(複数の独自レシピ・ソースをを一つのgitで管理している状態で)また別のPCでビルドすると発生するように見受けられます。
レシピの記載に不足点ないか,ご回答いただけますでしょうか。
(追記)bitbake -c cleanall (libaaaを参照するレシピ名)とし,ビルドし直すことで新ヘッダファイルが適用されますが,毎回cleanすることも困難なため,bitbakeの仕組みの方で更新を認識できるようにしたいです。l

現状のレシピ構成では、レシピが置かれているディレクトリの${PV}-${PR}/ 以下に置かれたファイルの変更を
bitbake側で検知する方法は無いですね。

git で管理する仕組みが用意されているようですので、gitでファイルを取得する形に変更されたほうが良いかと。
SRCREV = "${AUTOREV}"
と指定することで、常に最新版を取得するようになります。
Fixした時にcommit をSRCREVに指定すれば、以降は同一のものが使用されます。

ご回答ありがとうございます。

レシピ単位ではなく、独自レシピをまとめたmeta-xxxをまとめてgit管理しているため、(bitbakeとは別にcloneし、ローカルのソースとしてbitbakeしているため)
SRCREV = "${AUTOREV}"は使用できそうにありません。
Yocto的にはレシピごとgitリポジトリを分けた方が良いことは理解しているのですが、都合によりmeta-xxxを丸ごと一つのリポジトリで管理してしまっています。

毎回cleanする方法しかないということですかね...
ご回答いただきありがとうございました。

レシピ内でPRの値にファイル追加日を記載することで、変更時にはタスク実行時のシグネチャチェックで自動的に再構築がかかるかと。

ご回答ありがとうございます。
シェルスクリプトで独自関数を作成し,更新日時をPRに入れる,ということでしょうか?
試しに以下のような記載を行ってみましたが,PRに更新日時を入れることはできませんでした。
参照URL
https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bitbake-user-m...
shell functionを自作したことがなく,お手数をおかけしますが,誤りがないかご確認いただけますでしょうか。

SECTION = "libs"
LICENSE = "CLOSED"

FILES_${PN}-dev += "${includedir}/aaa.h "
ALLOW_EMPTY_${PN} = "1"
SRC_URI = "file://."
S = "${WORKDIR}"

do_getvar() {
PR=`date "+%Y%m%d%s" -r aaa.h`
echo rev=$PR
}

do_install() {
install -d ${D}${includedir}
install -m 0755 aaa.h ${D}${includedir}/
}

一手間掛かってしまいますが、当該ディレクトリ内を更新した時点で、YYYYMMDDHHMMで値を設定すれば良いかと。
更新時刻を含めることで、同一日に別の変更が入ってもレシピのリビジョンは更新されます。
因みに変数への値の設定は、タスク内で実施した場合(上記例で記述されている関数は、タスクの扱いとなります)、設定の有効範囲はそのタスク内となります。
各タスクで使用する変数の設定は、タスク外の場所でpythonの式を用いて設定します。
zeus の bitbakeのオンラインマニュアルの変数設定は以下のURLで説明されています。
https://www.yoctoproject.org/docs/3.0.4/bitbake-user-manual/bitbake-user...