2012-02-14 6 views
13

私はOSX/UnixとDebian/Linuxのどちらでも動作するコマンドを持っています。私はアプリケーション用のmakeファイルを作成したいが、OSを検出してそれに応じてコマンドを発行する必要がある。これをどうやってやりますか?メイクファイルでOSを検出するには?

+0

が重複する可能性http://stackoverflow.com/questions/714100/os-:あなたのMakefileでは、あなたのような何かを書くことができdetect-makefile) – Anko

答えて

25

unameを使用してこれを行うことができます。私の仕事は何

OS := $(shell uname) 
ifeq $(OS) Darwin 
# Run MacOS commands 
else 
# check for Linux and run other commands 
endif 
+2

このコードはどのようにしてターゲットの内部で実行できますか? – Mikhail

0

autotoolsを使用してください。移植可能なソースコードパッケージを構築する標準的な方法です。

14

OS := $(shell uname) 
ifeq ($(OS),Darwin) 
    # Run MacOS commands 
else 
    # check for Linux and run other commands 
endif 
[OS検出メイク](の
関連する問題