私は、アプリケーションがCで書かれているが、出力画像もバンドルされウェブアプリが含まれているネットワークカメラ用のイメージを構築していますカメラの組み込みWebサービスにデプロイされている場合。Makefileのルール - コピー展開アーティファクトの依存関係を表現する方法を
makeを使用して画像を作成します。ヤーンを使用してweb-appを作成します。私は画像をビルドするたびにyarn build
を実行しないように、makefileルールを作成したいと思います。
$(WEBAPP_PATH)/build: $(WEBAPP_PATH)
@echo Building web-app...
@pushd $(WEBAPP_PATH); yarn build; popd;
と
$(PACKAGE_PATH)/html: $(WEBAPP_PATH)/build $(PACKAGE_PATH)/.dir
@echo Copy html...
mkdir -p [email protected]
cp -r $(WEBAPP_PATH)/build/index.html [email protected]/
cp -r $(WEBAPP_PATH)/build/js [email protected]/
をしかし、どのように私は、バンドルを構築する必要性について、より詳細なチェックを書き込むことができます。現在、私は持っていますか?
更新:私の質問は、Web-appビルドアーチファクトが、その名前がランダムなので、更新されていることを実際に検出する方法です。糸を実行するルールにステップを追加します
1):以下は、あなたが望む効果をもたらす可能性があるよう
ウェブアプリケーションの再構築をトリガするときに、カメラから新しいイメージが書き込まれるたびに、望ましい基準は何ですか?私は '$(WEBAPP_PATH)/ build'ターゲットがMakeの実行ごとに実行されていることをコンテキストから推測しています。それは 'PHONY'とマークされていますか? (私は 'bundle 'が' $(WEBAPP_PATH)/ build'ディレクトリの内容であるとも仮定しています) – lockcmpxchg8b
makeを実行するたびにWebアプリケーションを再構築しないようにしたいと思います。一方、私はバンドルがいつ更新されたかを検出したいと思うし、入力がタッチされたときに糸を実行したい。 – user331244
ええ、私はちょっとうんざりですが、WEBAPP_PATHは、yarn.lockファイルと私が見つけたWebアプリケーションプロジェクトの場所です。 PACKAGE_PATHはイメージの中間体がある場所です。バンドルはそれをすべてインクルードする前にそこにコピーされます。 – user331244