Makefile Os检测并且ifeq没有被触发

时间:2016-09-08 06:31:38

标签: c++ makefile

我努力让我的ifeq条件被触发。 我知道我的makefile可能在所有部分看起来都很傻,但这就是我在这里问的原因。

我的Makefile条件如下:

COMPILER = g++

TARGET_WIN32 = engine.exe
SOURCES_WIN32 = main.cpp os_win32.cpp
FLAGS_WIN32 = -mwindows

TARGET_LINUX = engine
SOURCES_LINUX = main.cpp os_linux.cpp
FLAGS_LINUX = -lX11

ifeq ( $(OS), Windows_NT)
    TARGET = $(TARGET_WIN32)
    SOURCES = $(SOURCES_WIN32)
    FLAGS = $(FLAGS_WIN32)
else
    TARGET = $(TARGET_LINUX)
    SOURCES = $(SOURCES_LINUX)
    FLAGS = $(FLAGS_LINUX)
endif

all:
    @echo $(OS)

    $(COMPILER) -o $(TARGET) $(SOURCES) $(FLAGS)

1 个答案:

答案 0 :(得分:2)

Make对空格非常敏感: - )

你的专栏:

ifeq ( $(OS), Windows_NT)

必须是:

ifeq ($(OS),Windows_NT)