2016-05-20 8 views
0

makeを使用してプラットフォーム間で自分のdevマシンを管理しようとしています。私は、ipythonがマシンにインストールされているかどうかを確認したいと思います。 ipythonがインストールされているパスは、OSXとLinuxでは異なります。条件に基づいたMakefileの変数ターゲット

私は以下のような変数を設定しようとしましたが、変数のように見えません(範囲外かもしれません)。

これを達成する別の方法がありますか、それとも別の簡単な修正がありますか?

+0

それらは両方ともあなたの '$ PATH'にありますか?あなたはその道が実際に何であるか、それがうまくいくか気にしますか?あなたは「無視された」という意味ですか?正確にはどうなりますか? 'make 'は何を出力しますか? 'make -rRd'は何を出力しますか? –

+0

これは一旦インストールされると '$ PATH'にあります。私はその道が何であるか気にしない。 'make ipython'の出力:http://pastebin.com/8yT5giD6 –

+1

' $(UNAME_S)とは何ですか? makefileに '$(info [$(UNAME_S)])'を追加して 'make ipython'をもう一度実行できます(今回は' -rRd'の必要はありません)。 –

答えて

0

ご使用のオペレーティングシステムの の名前をUNAME_Sに割り当てようとしたときに、コードを削除して誤って実行した可能性があります。または、ご使用のOSの名前が に自動的に割り当てられているという誤った印象を受けている可能性があります。UNAME_S

とにかくあなたが欲しいものを達成するであろう:あなたのOSはサポートされてセットされていない場合

*** Unknown OS. Stop 

:またmakeがでてエラーになりますどの

UNAME_S := $(shell uname -s) 
ifeq ($(UNAME_S),Linux) 
    IPYTHON_BIN:=/usr/bin/ipython 
endif 
ifeq ($(UNAME_S),Darwin) 
    IPYTHON_BIN:=/usr/local/bin/ipython 
endif 
ifndef IPYTHON_BIN 
$(error Unknown OS) 
endif 
... 
.... 

関連する問題