TARGET = Q2 CXX = g++ CXXFLAGS = -Wall -Wextra -std=c++11 SRCS = main.cpp TEST = cache_test.cpp OBJS = $(SRCS:.cpp=.o) ifeq ($(OS),Windows_NT) RM = del RUN = $(TARGET).exe else RM = rm -f RUN = ./$(TARGET) endif all: $(TARGET) $(TARGET): $(OBJS) $(CXX) -o $@ $^ %.o: %.cpp $(CXX) $(CXXFLAGS) -c $< -o $@ test: $(CXX) $(CXXFLAGS) $(TEST) -o cache_test clean: $(RM) $(OBJS) $(TARGET) cache_test run: $(TARGET) $(RUN) .PHONY: all clean run test