diff --git a/makefile b/makefile index ee3f0a5..54db728 100644 --- a/makefile +++ b/makefile @@ -12,11 +12,22 @@ warnings = -Wall -Wextra -Werror -Wformat=2 -Wno-maybe-uninitialized \ sanitize = -fsanitize=address,undefined,pointer-compare,pointer-subtract debug_flags = -ggdb3 -Og -DDEBUG -Wformat-truncation=2 $(sanitize) -CC := /usr/bin/gcc -CXX := /usr/bin/g++ +ifeq ($(OS),Windows_NT) + CC := gcc + CXX := g++ +else + CC := /usr/bin/gcc + CXX := /usr/bin/g++ +endif builddir := build -objectname = sabp +ifeq ($(OS),Windows_NT) + objectname = sabp.exe + makebuilddircmd = mkdir $(builddir) +else + objectname = sabp + makebuilddircmd = mkdir -p $(builddir) +endif objectdir = $(builddir)/$(objectname) .PHONY: all debug @@ -25,7 +36,7 @@ all:set_flags $(objectdir) debug:set_debug_flags $(objectdir) -$(objectdir):$(builddir)/random.o $(builddir)/sa.o src/main.cpp +$(objectdir):$(builddir) $(builddir)/random.o $(builddir)/sa.o src/main.cpp $(CXX) $(CPPFLAGS) $(builddir)/random.o $(builddir)/sa.o src/main.cpp -o $(objectdir) $(builddir)/random.o:src/random.cpp @@ -34,6 +45,9 @@ $(builddir)/random.o:src/random.cpp $(builddir)/sa.o:src/sa.cpp $(CXX) $(CPPFLAGS) src/sa.cpp -o $(builddir)/sa.o -c +$(builddir): + $(makebuilddircmd) + set_flags: $(eval override CPPFLAGS += $(warnings) $(optimize_flags) $(standart)) @@ -41,4 +55,8 @@ set_debug_flags: $(eval override CPPFLAGS += $(warnings) $(sanitize) $(debug_flags)) clean: - rm -rf $(builddir) + ifeq ($(OS),Windows_NT) + RMDIR "$(builddir)" /S /Q + else + rm -rf $(builddir) + endif diff --git a/run.bat b/run.bat index 9e509db..ba305ac 100644 --- a/run.bat +++ b/run.bat @@ -3,7 +3,7 @@ setlocal enabledelayedexpansion if not defined EXEC ( - set EXEC="build\main.exe" + set EXEC="build\sabp.exe" ) if not defined TEST_FOLDER (