Скомпилирование источника C и CPP в одной цели MakefileC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Скомпилирование источника C и CPP в одной цели Makefile

Сообщение Anonymous »

У меня есть Makefil, где я работаю как с источником C, так и с источником CPP. Ниже приведен фрагмент кода из Makefile. Есть ли способ объединить следующие две цели, чтобы скомпилировать оба филетипа? < /P>

#definitions
OBJ_DIR := obj
DEP_DIR := dep

CXX := g++
DEBUG := -g -O0
OPT := -std=c++11 -Wextra -Wall -pthread
LFLAGS = $(DEBUG) $(OPT) $(INC)
CFLAGS = $(LFLAGS) -c

#auto-dependency generation (part 1)
DEP_FLAGS = -MT $@ -MMD -MP -MF $(DEP_DIR)/$*.Td
POSTCOMPILE = @mv -f $(DEP_DIR)/$*.Td $(DEP_DIR)/$*.d && touch $@

#compile object files from CPP source
$(OBJ_DIR)/%.o: %.cpp $(DEP_DIR)/%.d
$(CXX) $(CFLAGS) $(DEP_FLAGS) $< -o $@
$(POSTCOMPILE)

#compile object files from C source
$(OBJ_DIR)/%.o: %.c $(DEP_DIR)/%.d
$(CXX) $(CFLAGS) $(DEP_FLAGS) $< -o $@
$(POSTCOMPILE)

#auto-dependency generation (part 2)
$(DEP_DIR)/%.d: ;
.PRECIOUS: $(DEP_DIR)/%.d
include $(wildcard $(DEP_DIR)/*.d)
< /code>

Я попытался использовать функцию подстановочного знака с различными форматированием, используя второе расширение, но безрезультатно. < /p>

< P> Я использую Make 4.2. Код генерации автозазависимости был взят с http://make.mad-scientist.net/papers/ad ... /.образной

Подробнее здесь: https://stackoverflow.com/questions/496 ... ile-target
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»