mirror of
https://github.com/hazemKrimi/jack-vm-translator.git
synced 2026-05-01 18:00:27 +00:00
30 lines
570 B
Makefile
30 lines
570 B
Makefile
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/code.cpp src/parser.cpp
|
|
OBJS = $(SRCS:src/%.cpp=$(OUT_DIR)/%.o)
|
|
|
|
$(TARGET): $(OBJS)
|
|
@mkdir -p $(OUT_DIR)
|
|
@$(CC) $(CFLAGS) $^ -o $@
|
|
@echo "Built $(TARGET_NAME): $@"
|
|
|
|
$(OUT_DIR)/%.o: src/%.cpp
|
|
@mkdir -p $(OUT_DIR)
|
|
@$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
clean:
|
|
@rm -rf out
|
|
@echo "Cleaned all builds."
|
|
|
|
.PHONY: all run clean
|