У меня есть команда, которая работает одним способом в OSX/Unix, а другая в Debian/Linux. Я хочу создать файл make для моего приложения, но вам нужно определить ОС и выдать команду соответствующим образом. Как мне это сделать?
Как обнаружить ОС в файле make?
Ответ 1
Для этого можно использовать uname. В Makefile вы можете написать что-то вроде:
OS := $(shell uname)
ifeq $(OS) Darwin
# Run MacOS commands
else
# check for Linux and run other commands
endif
Ответ 2
Что сработало для меня
OS := $(shell uname)
ifeq ($(OS),Darwin)
# Run MacOS commands
else
# check for Linux and run other commands
endif
Ответ 3
Используйте autotools. Это стандартный способ создания портативных пакетов исходного кода.