2016-05-17 8 views
0

メイクファイルに次のコードがあります。メイクファイルでsshとrsyncを使用

ifdef MYBUILD                                                  
.PHONY: rsync all, clean 
all: rsync 
    ssh $(MYBUILD) make -C cs/src 
clean: rsync 
    ssh $(MYBUILD) make -C cs/src [email protected] 
rsync: 
    ssh $(MYBUILD) mkdir -p cs/src 
    rsync -Cavuz . $(MYBUILD):cs/src 

私はsshとrsyncがmakeシステムで何をしているのか分かりません。誰かが上記の使い方を説明することはできますか?

+1

を実行します'ssh'と' rsync'が何をするのか理解していますか? –

+0

@ IgnacioVazquez-Abrams - sshはリモートマシンにログインするための安全なシェルです。 rsyncは2つの異なるマシン上でソースコードを同期させることですか? – liv2hak

+0

@ IgnacioVazquez-Abrams - この文脈ではまだ使用されていません。 – liv2hak

答えて

0

Makefileを使用すると、ローカルホストではなくビルドマシンでビルドを実行できます。 (これが必要かどうかは、あなたが決める必要があります)。

allターゲットは、最初にrsyncターゲットを実行してから、リモートシステムにsshを実行し、makeを実行します。

rsyncターゲットは、ローカルソースファイルがビルドマシンにコピーされていることを確認します。その後、

あなたはそれをテストしたい場合は、キーファイルを使用してSSHアクセスを別のビルドマシンをセットアップし、いくつかの素晴らしいアドレスまたはドメイン名にそのマシンを置く(私は192.168.1.111を使用します)と

make MYBUILD="192.168.1.111" 
+0

OPは自分のローカルマシンで構築する方法を探しているようです。 OPがローカルでビルドしたい場合は、 'make MYBUILD = localhost'を実行することができます。これは彼が 'Makefile'を修正することを許可されていないと仮定しています。 – alvits

+0

私はそれを見て、彼は "このコードは何をしているのですか?"と理解しようとしています。 "makeがソフトウェアを構築することすべてについて* sshとrsyncがあるのはなぜですか?(私は最後の仮定が間違っていることを知っています)* –

関連する問題