2012-02-14 4 views
13

OSX/Unix에서 한 가지 방법으로 작동하는 명령과 데비안/Linux에서 다른 것으로 작동하는 명령이 있습니다. 내 응용 프로그램 용 make 파일을 만들고 싶지만 OS를 감지하고 이에 따라 명령을 실행해야합니다. 이 일을 어떻게 하죠?make 파일에서 OS를 검색하는 방법은 무엇입니까?

+0

가능한 중복 http://stackoverflow.com/questions/714100/os- : 당신의 메이크, 당신은 뭔가를 쓸 수 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 감지 메이크] (의
관련 문제