2012-02-14 25 views
13

OSX/Unix'te ve Debian/Linux'ta başka bir şekilde çalışan bir komutum var. Uygulamam için bir make dosyası oluşturmak istiyorum, ancak işletim sistemini tespit etmeli ve buna göre komutu vermem gerekiyor. Bunu yapmak için nasıl giderim?Bir make dosyasında işletim sistemi nasıl algılanır?

+0

olası yinelenen http://stackoverflow.com/questions/714100/os-: En Makefile olarak, böyle bir şey yazabilirsiniz tespit-makefile) – Anko

cevap

25

Bunu yapmak için uname kullanabilirsiniz. benim için çalıştı Ne

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

Bu kod, hedeflerden birinin içinde nasıl yürütülür? – Mikhail

0

autotools'u kullanın. Taşınabilir kaynak kod paketleri oluşturmanın standart bir yoludur.

14

OS := $(shell uname) 
ifeq ($(OS),Darwin) 
    # Run MacOS commands 
else 
    # check for Linux and run other commands 
endif 
[OS tespit makefile] (içinde
İlgili konular