Добавление флага сборки на все, кроме окон - PullRequest
0 голосов
/ 13 февраля 2011

У меня есть проект, который использует Windows API для Windows и pthreads на любой другой платформе.

Как мне сделать мой make-файл добавить -pthread в мои CFLAGS, если я НЕ нацеливаюсь на Windows?Для компиляции я использую [gcc (mingw и native), clang, icc], а для целей у меня есть [GNU / Linux, BSD, Darwin, Windows].

Ответы [ 2 ]

1 голос
/ 13 февраля 2011

Предполагается, что у вас установлен mingw и вы используете GNUmake:

OPERATING_SYSTEM:=        $(shell uname | sed 's/-.*//')
ifneq ($(OPERATING_SYSTEM),MINGW32_NT)
CFLAGS+=                  -pthread
LDFLAGS+=                 -pthread
endif
0 голосов
/ 13 февраля 2011

Я закончил тем, что делал ...

uname_S = $(shell sh -c 'uname -s 2>/dev/null || echo not')
ifeq (,$(findstring MINGW,$(uname_S)))
    CFLAGS += -pthread
endif

, который был полностью извлечен из дерева исходников git.

...