2017-05-20 6 views
0

1つのファイル( 'glide.lock')がディレクトリ( 'vendor')よりも新しい場合、いくつかのコマンド(下記の例ではecho)を実行しようとしています。1つのファイルが別のファイルより新しい場合、Makefileでコマンドを実行するには?

1つのオペレーティング・システムでは、これは動作します:

deps: 
    @test glide.lock -nt vendor; \ 
    RETVAL=$$?; \ 
    if [ $$RETVAL -eq 0 ]; then \ 
     echo dependencies out of date; \ 
    fi 

しかし、別の(Ubuntuの)上の

が、それはしていません。両方のシステムで手動で test glide.lock -nt vendorを実行し、 $?をチェックすると正しい答えが得られます。

可能な限り最も互換性のある方法でこれを行うことができますか?

+0

なぜだけではなく 'テストglide.lock -ntベンダーであれば、その後エコー...; fi'? – melpomene

+0

私のバージョンが動作するマシンでは動作しますが、動作していないマシンでは動作しません。 – sbs

+0

makefileは、そのファイルまたはそのディレクトリで何か他のことをしますか? – Beta

答えて

2

それはハックのビットですが、方法について:

vendor: glide.lock 
    echo dependencies out of date 
+0

私の目的のためにうまくいきます、ありがとう。 – sbs

関連する問題