特定のファイルのサイズが一定よりも小さいかどうかを確認する方法はありますか?私はmakefileのサイズに関することを想定しており、想定が満たされない場合にエラーが発生することを確認したいと思います。アサートのようなものですが、makefileにあります。
if filesize(file) > C then error
else continue compilation
特定のファイルのサイズが一定よりも小さいかどうかを確認する方法はありますか?私はmakefileのサイズに関することを想定しており、想定が満たされない場合にエラーが発生することを確認したいと思います。アサートのようなものですが、makefileにあります。
if filesize(file) > C then error
else continue compilation
コンパイルの前のどこかで、これをルールに入れてください。
test -n "$$(find filename -a -size +NNNc)"
ここfilename
で、はファイル名、NNN
はオクテット単位のサイズです。これはfalseを返しmake
、サイズが。以下になると停止しNNN
ます。
これに対する私のアプローチは、おそらく最もきれいな解決策ではありませんが、それは私にとってはうまくいきました:)
CHECKFILE = \
if [ ! -f "file" ]; then \
echo "file does not exist" ; exit 1 ; \
fi; \
FSIZE=$$(du -b "file" | cut -f 1) ; \
if [ $$FSIZE -lt 100000 ]; then \
echo "filesize too small" ; exit 1 ; \
fi
all:
@$(CHECKFILE)
私はこれを好みます-256バイトを超える場合は続行し、それ以外の場合はmakeを停止します-読みやすくするために:
test `wc -c <$<` -gt 256;
バックティック内で、ファイル$<
はに送られwc -c
、サイズはバイト単位で返されます$<
。バックティックがのサイズを評価した後、$<
は「より大きい」演算子test
とともに使用されます。-gt