我正在努力让我的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)

最佳答案

Make对空格非常敏感:-)

您的电话:

ifeq ( $(OS), Windows_NT)

一定是:
ifeq ($(OS),Windows_NT)

10-04 20:56