diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ed2da60 --- /dev/null +++ b/Makefile @@ -0,0 +1,35 @@ +CXX = g++ +CXXFLAGS = -Wall -Wextra -std=c++20 -march=native +CXXFLAGS += -D_DEFAULT_SOURCE +LDFLAGS = -lpng +BIN = buddhabrot + +OBJDIR = .obj + +ifneq ($(DEBUG),) + CXXFLAGS += -Og -g -fsanitize=address + LDFLAGS += -fsanitize=address +else + CXXFLAGS += -O3 +endif + +SOURCES := $(wildcard *.cpp) +OBJECTS := $(patsubst %.cpp,$(OBJDIR)/%.o,$(SOURCES)) +HEADERS := $(wildcard *.h) + +.PHONY: all clean + +all: $(BIN) + +clean: + rm -rf $(BIN) $(OBJDIR) + + +$(BIN): $(OBJECTS) + $(CXX) -o $@ $^ $(LDFLAGS) + +$(OBJDIR)/%.o: %.cpp $(HEADERS) | $(OBJDIR) + $(CXX) $(CXXFLAGS) -c -o $@ $< + +$(OBJDIR): + mkdir $@ |