Вы не дали нам много, чтобы продолжить, но я сделаю предположение. Я думаю, что вы добавили source/systemFuncs.cpp
к CXX_SOURCES
. Затем сделайте удар по этой строке:
x86_32_OBJS:=$(patsubst %.cc,%_32.o,$(CXX_SOURCES))
, который заменил «.cc» на «_32.o», и оставил source/systemFuncs.cpp
нетронутым. Затем Make попытался ввести это имя в правило, которое ожидало «_32.o», и завершился сбоем.
Попробуйте это:
CPP_SOURCES += source/systemFuncs.cpp
x86_32_CPP_OBJS:=$(patsubst %.cpp,%_32.o,$(CPP_SOURCES))
$(x86_32_CPP_OBJS) : %_32.o : %.cpp $(THIS_MAKE)
$(CXX) ${INCDIRS} -o $@ -c $< -m32 -O0 -g $(CXXFLAGS)
Если повезет, это окажется грубым, но эффективным. Дальнейшие улучшения будут возможны позже.
EDIT:
Если оба набора имен файлов должны быть в одной переменной (CXX_SOURCES
), вы можете разделить их следующим образом:
CC_SOURCES := $(filter %.cc, $(CXX_SOURCES))
CPP_SOURCES := $(filter %.cpp, $(CXX_SOURCES))
Достаточно ли этого?