diff --git a/Makefile b/Makefile index c9d9663..d3242fe 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,26 @@ CC = g++ +MODE ?= debug + +ifeq ($(MODE), debug) + CFLAGS = -g -Wall -Wextra -DDEBUG +else + CFLAGS = -O2 -DNDEBUG -Wall -Wextra +endif + TARGET_NAME = vm-translator OUT_DIR = out TARGET = $(OUT_DIR)/$(TARGET_NAME) -SRCS = src/main.cpp src/utils.cpp src/linked-list.cpp src/parser.cpp +SRCS = src/main.cpp src/utils.cpp src/parser.cpp OBJS = $(SRCS:src/%.cpp=$(OUT_DIR)/%.o) $(TARGET): $(OBJS) @mkdir -p $(OUT_DIR) - @$(CC) $^ -o $@ + @$(CC) $(CFLAGS) $^ -o $@ @echo "Built $(TARGET_NAME): $@" $(OUT_DIR)/%.o: src/%.cpp @mkdir -p $(OUT_DIR) - @$(CC) -c $< -o $@ + @$(CC) $(CFLAGS) -c $< -o $@ clean: @rm -rf out