aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile34
1 files changed, 34 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..5ab688b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,34 @@
+CXX = cl
+TARGET = RNT.exe
+OBJECT = NT.obj
+SOURCE = src\NT.cpp
+INCDIR = include
+DEFINES = /DNT_CONSOLE_APP /DNT_WAIT_ON_EXIT
+INCLUDE_FLAG = /I$(INCDIR)
+COMPILE_FLAGS = /std:c++17 /W4 /EHsc
+COMPILE_ONLY = /c
+OBJECT_OUT = /Fo:$(OBJECT)
+LINK_FLAGS =
+TARGET_OUT = /Fe:$(TARGET)
+REMOVE = del /Q
+
+all: $(TARGET)
+
+windows: all
+
+unix:
+ $(MAKE) CXX=c++ TARGET=RNT OBJECT=NT.o SOURCE=src/NT.cpp DEFINES=-DNT_CONSOLE_APP INCLUDE_FLAG=-Iinclude COMPILE_FLAGS="-std=c++17 -Wall -Wextra" COMPILE_ONLY=-c OBJECT_OUT="-o NT.o" LINK_FLAGS= TARGET_OUT="-o RNT" REMOVE="rm -f" all
+
+linux: unix
+
+macos:
+ $(MAKE) CXX=c++ TARGET=RNT OBJECT=NT.o SOURCE=src/NT.cpp DEFINES=-DNT_CONSOLE_APP INCLUDE_FLAG=-Iinclude COMPILE_FLAGS="-std=c++17 -Wall -Wextra" COMPILE_ONLY=-c OBJECT_OUT="-o NT.o" LINK_FLAGS= TARGET_OUT="-o RNT" REMOVE="rm -f" all
+
+$(TARGET): $(OBJECT)
+ $(CXX) $(LINK_FLAGS) $(OBJECT) $(TARGET_OUT)
+
+$(OBJECT): $(SOURCE)
+ $(CXX) $(DEFINES) $(INCLUDE_FLAG) $(COMPILE_FLAGS) $(COMPILE_ONLY) $(SOURCE) $(OBJECT_OUT)
+
+clean:
+ -$(REMOVE) RNT.exe RNT $(OBJECT) NT.o RNT.exp RNT.lib