make中的单独构建配置

时间:2016-03-13 17:48:12

标签: makefile

我有一个Makefile来构建我的项目:

CFLAGS := -g -O2 -MD -MP
SRCDIR := src
OBJDIR := build
BINDIR := bin

SRC := $(wildcard $(SRCDIR)/*.c)
OBJ := $(SRC:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
DEPS := $(OBJ:%.o=%.d)

all: $(BINDIR)/main

$(BINDIR)/main: $(OBJ) | $(BINDIR)
    $(CC) $(CFLAGS) $^ -o $@

$(OBJ): $(OBJDIR)/%.o: $(SRCDIR)/%.c | $(OBJDIR)
    $(CC) $(CFLAGS) -c $< -o $@

.PHONY: clean distclean
clean: 
    rm -rf $(OBJDIR)
distclean: clean
    rm -rf $(BINDIR)

$(OBJDIR) $(BINDIR):
    mkdir -p $@

-include $(DEPS) 

我计划使用valgrind从时间到时间检查我的程序是否有内存泄漏。但是建议不要使用任何编译器优化。

如果我只是添加了修改后的valgrind目标CFLAGS,则项目将无法完全重建。 另一方面,在经过valgrind检查后,我将不得不做出一件事,因为一切都不会被优化。

听起来不太好。我该如何处理这个问题?

0 个答案:

没有答案