diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40a7876 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.deps/* +src_deps/* +include_deps/* +build/* \ No newline at end of file diff --git a/Makefile b/Makefile index e079fdc..0ed9e7e 100644 --- a/Makefile +++ b/Makefile @@ -30,6 +30,33 @@ DEPS := .deps/spdlog \ .deps/spdlog_sqlite \ .deps/sqlite3 \ .deps/jinx +##################### +# COMPILATION MODES # +##################### + +all: + +make deps + +make executable + +debug: + +make deps + +make debug_executable + +release: + +make deps + +make release_executable + +executable: deps +executable: build $(APP_DIR)/$(TARGET) + +debug_executable: CFLAGS += -DDEBUG -g +debug_executable: CXXFLAGS += -DDEBUG -g +debug_executable: build $(APP_DIR)/$(TARGET) + gdb $(APP_DIR)/$(TARGET) + +release_executable: CFLAGS += -O3 -march=native +release_executable: CXXFLAGS += -O3 -march=native +release_executable: build $(APP_DIR)/$(TARGET) ############################# # DEPENDENCIES DECLARATIONS # @@ -93,30 +120,6 @@ $(DEPS_DIR)/libspdlog.a: # PROJECT COMPILATION # ####################### -all: - +make deps - +make executable - -debug: - +make deps - +make debug_executable - -release: - +make deps - +make release_executable - -executable: deps -executable: build $(APP_DIR)/$(TARGET) - -debug_executable: CFLAGS += -DDEBUG -g -debug_executable: CXXFLAGS += -DDEBUG -g -debug_executable: build $(APP_DIR)/$(TARGET) - gdb $(APP_DIR)/$(TARGET) - -release_executable: CFLAGS += -O3 -march=native -release_executable: CXXFLAGS += -O3 -march=native -release_executable: build $(APP_DIR)/$(TARGET) - $(OBJ_DIR)/%.cpp.o: %.cpp @mkdir -p $(@D) $(CXX) $(CXXFLAGS) $(INCLUDE) -c $< -o $@ $(LDFLAGS)