diff --git a/Makefile b/Makefile
index af4b8df54738a130fe48a9a9ebbb3704efdd1cb5..d6cb71088c09b1134a8950a801bbeeb157a94a9c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,12 @@
-CFLAGS += -march=native -masm=intel -g -Og -fsanitize=address,signed-integer-overflow,undefined -pedantic -Wall -Wextra -Werror -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wshadow -Wformat=2 -Wfloat-equal -Wundef -Wpointer-arith -Wcast-align -Wstrict-overflow=5 -Wwrite-strings -Wswitch-default -Wswitch-enum -Wconversion -Wunreachable-code -Winit-self -fno-strict-aliasing -Wno-unknown-warning-option
-CXXFLAGS += ${CFLAGS} -std=c++11 -std=c++17 -Wuseless-cast -Weffc++ -I/usr/local/include -Wno-non-virtual-dtor
+CFLAGS += -march=native -masm=intel -fsanitize=address,signed-integer-overflow,undefined -pedantic -Wall -Wextra -Werror -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wshadow -Wformat=2 -Wfloat-equal -Wundef -Wpointer-arith -Wcast-align -Wstrict-overflow=5 -Wwrite-strings -Wswitch-default -Wswitch-enum -Wconversion -Wunreachable-code -Winit-self -fno-strict-aliasing -Wno-unknown-warning-option
+CXXFLAGS += ${CFLAGS} -std=c++11 -std=c++17 -std=c++20 -Wuseless-cast -Weffc++ -I/usr/local/include -Wno-non-virtual-dtor
 DEPFLAGS = -MT $@ -MMD -MP -MF $(patsubst ${OBJDIR}/%.o,${DEPDIR}/%.d,$@)
 
+CFLAGS_DEBUG = -g -Og
+CFLAGS_RELEASE = -O3 -msse2 -mavx
+
+CFLAGS += ${CFLAGS_DEBUG}
+
 PODOMAIN ?= rmrf
 POVERSION ?= 0.1
 POLANGS ?= de en