1. はじめに
この記事では、Qualcomm hexagon ide の hexagon.min にディレクトリと .c ファイルを取得する方法を追加する方法を中心に紹介しますので参考にしてください。
次に、具体的な順序
OBJ_PATH := ./algo_lib
INCLUDE_PATH := $(shell find $(OBJ_PATH ) -type d)
SRC_C_FILE := $(foreach dir, $(INCLUDE_PATH ), $(wildcard $(dir)/*.c))
#add source c files
capi_awinic_iv_sp_C_SRCS += $(basename $(SRC_C_FILE))
#add the path of .h file
INCDIRS += $(INCLUDE_PATH )
三、コマンド補足紹介
検索コマンド:
詳細については、リンク「Linux 共通コマンド」を参照してください。
foreach コマンド:
$(foreach <var>,<list>,<text>)
意味: この関数は、パラメータ内の単語を 1 つずつ取り出し、パラメータで指定された変数に代入し、<text> に含まれる式を実行します。毎回
したがって、; は変数名であることが好ましく、 ; は式にすることができ、
names := a b c d
files := $(foreach n,$(names),$(n).o)
上の例では、(名前)に含まれる単語を1つずつ取り出して変数「n」に格納します、「(名前)に含まれる単語を1つずつ取り出して変数「n」に格納します、 」( name e )内の単語が1 つずつ取り出され、変数「n 」に格納されます。「 (n).o」は毎回「(n)」に従って値を計算します。これらの値は次のように区切られます。スペース、そして最終的に foreach 関数として使用されます。 return, so, (n)" は値を計算します。これらの値はスペースで区切られ、最終的に foreach 関数の戻り値として返されます。( n ) "は値を計算し、これらの値はスペースで区切られ、最終的にfor a ch関数の戻り値として使用されるため、 (files) の値は "ao bo co do" になります。
foreach の ; パラメータは一時的なローカル変数であることに注意してください。foreach 関数が実行されると、パラメータ; 変数は機能しなくなり、その有効範囲は foreach 関数内のみになります。
ワイルドカードコマンド:
注文 | 意味 |
---|---|
ワイルドカード $(dir)/*.c | $(dir) ディレクトリ内のすべての .c ファイルを表します。 |
ベース名コマンド:
注文 | 意味 |
---|---|
ベース名 ディレクトリ名/ファイル名 | 最後のディレクトリ名またはファイル名を取得する |
ベース名 ファイル名 ファイル接尾辞 | 末尾のファイル名を取得し、同時にファイルのサフィックスを削除します |
ベース名 -s ファイルサフィックス ファイル名 | (同上) 末尾のファイル名を取得し、同時にファイル拡張子を削除します |
Basename -s ファイル名 ファイル接尾辞 | ファイルのサフィックスのみを取得し、ファイル名を削除します |
ベース名 -a ディレクトリ 1/ファイル 1 ディレクトリ 2/ファイル 2 | 複数のディレクトリまたはファイルの名前を同時に出力します (basename を使用する場合、ディレクトリまたはファイルが存在しない場合、エラーは報告されません) |
4、まとめ
この記事では、Qualcomm hexagon ide の hexagon.min にディレクトリと .c ファイルを取得する方法を追加する方法を中心に紹介しますので参考にしてください。議論や交換を歓迎します~