Skip to content
Snippets Groups Projects
Commit 81917445 authored by Grégoire Kubler's avatar Grégoire Kubler
Browse files

feat : added ASAN compilation option to Makefile

parent 84a5b5f8
No related branches found
No related tags found
2 merge requests!63Update 0.3.1 -> 0.3.2,!44feat_operator_reducemean
Pipeline #72629 failed
......@@ -2,24 +2,31 @@ CC := g++
CCFLAGS_COMMON := -Wall -Wextra -MMD -fopenmp
CCFLAGS_RELEASE := -O2
CCFLAGS_DEBUG := -g -O0 -DDEBUG
CCFLAGS_ASAN := -g -O1 -DDEBUG -fsanitize=address -fno-omit-frame-pointer
CCFLAGS := ${CCFLAGS_COMMON} ${CCFLAGS_RELEASE}
LDFLAGS := ${LDFLAGS} -fopenmp
LDFLAGS_ASAN := ${LDFLAGS} -fsanitize=address
OBJDIR := build
DNNDIR := dnn
BINDIR := bin
TARGET := $(BINDIR)/run_export
DEBUG_OBJDIR := build_debug
DEBUG_TARGET := $(BINDIR)/run_export_debug
ASAN_OBJDIR := build_asan
ASAN_TARGET := $(BINDIR)/run_export_asan
INCLUDE_DIRS :=-I. -I./${DNNDIR} -I./${DNNDIR}/include -I./${DNNDIR}/layers -I./${DNNDIR}/parameters
CC_SRCS := $(shell find . -iname "*.cpp")
CC_OBJS := $(patsubst %.cpp, ${OBJDIR}/%.o, ${CC_SRCS})
DEBUG_OBJS := $(patsubst %.cpp, ${DEBUG_OBJDIR}/%.o, ${CC_SRCS})
ASAN_OBJS := $(patsubst %.cpp, ${ASAN_OBJDIR}/%.o, ${CC_SRCS})
DEPENDENCIES := $(patsubst %.o, %.d, ${CC_OBJS})
DEBUG_DEPENDENCIES := $(patsubst %.o, %.d, ${DEBUG_OBJS})
ASAN_DEPENDENCIES := $(patsubst %.o, %.d, ${ASAN_OBJS})
.PHONY: all build debug clean
.PHONY: all build debug asan clean
all: build
......@@ -32,6 +39,11 @@ debug: ${DEBUG_OBJS}
@mkdir -p $(dir ${DEBUG_TARGET})
${CC} ${DEBUG_OBJS} ${LDFLAGS} -o ${DEBUG_TARGET}
asan: CCFLAGS := ${CCFLAGS_COMMON} ${CCFLAGS_ASAN}
asan: ${ASAN_OBJS}
@mkdir -p $(dir ${ASAN_TARGET})
${CC} ${ASAN_OBJS} ${LDFLAGS_ASAN} -o ${ASAN_TARGET}
${OBJDIR}/%.o: %.cpp
@mkdir -p $(dir $@)
${CC} ${CCFLAGS} ${INCLUDE_DIRS} -c $< -o $@
......@@ -40,11 +52,17 @@ ${DEBUG_OBJDIR}/%.o: %.cpp
@mkdir -p $(dir $@)
${CC} ${CCFLAGS} ${INCLUDE_DIRS} -c $< -o $@
${ASAN_OBJDIR}/%.o: %.cpp
@mkdir -p $(dir $@)
${CC} ${CCFLAGS} ${INCLUDE_DIRS} -c $< -o $@
clean:
if [ -d "$(OBJDIR)" ]; then rm -rf $(OBJDIR); fi
if [ -d "$(DEBUG_OBJDIR)" ]; then rm -rf $(DEBUG_OBJDIR); fi
if [ -d "$(ASAN_OBJDIR)" ]; then rm -rf $(ASAN_OBJDIR); fi
if [ -d "$(BINDIR)" ]; then rm -rf $(BINDIR); fi
-include $(DEPENDENCIES)
-include $(DEBUG_DEPENDENCIES)
-include $(ASAN_DEPENDENCIES)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment