--- Makefile.orig	2024-10-12 08:44:24 UTC
+++ Makefile
@@ -50,8 +50,7 @@ endif
 ## Begin customization points for each OS and TOOLCHAIN we support.
 
 
-ifeq (${OS},linux)
-  CXXFLAGS_EARLY += -DLINUX -I /usr/include/SDL
+  CXXFLAGS_EARLY += -DLINUX
   EXE_EXTENSION :=
   LDFLAGS_GL := -lGL
   LDFLAGS_GLEW := -lGLEW
@@ -59,7 +58,6 @@ ifeq (${OS},linux)
   LDFLAGS_SDL := -lSDL -lSDL_gfx -lSDL_mixer -lSDL_ttf -lpthread -lz
   OBJ_EXTENSION := .o
   hyper_RES :=
-endif
 
 ifeq (${OS},mingw)
   CXXFLAGS_EARLY += -DWINDOWS -mwindows -D_A_VOLID=8 -I/ucrt64/include/SDL
@@ -153,19 +151,19 @@ hyperrogue$(EXE_EXTENSION): $(hyper_OBJS) $(hyper_RES)
 override LDFLAGS := $(LDFLAGS_EARLY) $(LDFLAGS) ${EXTRA_LDFLAGS}
 
 hyperrogue$(EXE_EXTENSION): $(hyper_OBJS) $(hyper_RES)
-	$(CXX) $(CXXFLAGS) $(hyper_OBJS) $(hyper_RES) $(LDFLAGS) $(hyper_LDFLAGS) -o $@
+	$(CXX) $(hyper_OBJS) $(hyper_RES) $(LDFLAGS) $(hyper_LDFLAGS) -o $@
 
 hyper$(OBJ_EXTENSION): *.cpp language-data.cpp autohdr.h
-	$(CXX) -O2 $(CXXFLAGS) $(hyper_CXXFLAGS) -c hyper.cpp -o $@
+	$(CXX) $(CXXFLAGS) -O0 $(hyper_CXXFLAGS) -c hyper.cpp -o $@  # without O0 clang takes gigabytes of memory
 
 hyper.res: hyper.rc hr-icon.ico
 	windres hyper.rc -O coff -o hyper.res
 
 langen$(EXE_EXTENSION): langen.cpp language-??.cpp language-ptbr.cpp
-	$(CXX) -O0 $(CXXFLAGS) $(langen_CXXFLAGS) langen.cpp $(LDFLAGS) -o $@
+	$(CXX) $(CXXFLAGS) $(langen_CXXFLAGS) langen.cpp $(LDFLAGS) -o $@
 
 makeh$(EXE_EXTENSION): makeh.cpp
-	$(CXX) -O2 makeh.cpp -o $@
+	$(CXX) $(CXXFLAGS) makeh.cpp $(LDFLAGS) -o $@
 
 autohdr.h: makeh$(EXE_EXTENSION) language-data.cpp *.cpp
 	./makeh classes.cpp locations.cpp colors.cpp hyperpoint.cpp geometry.cpp embeddings.cpp goldberg.cpp init.cpp floorshapes.cpp cell.cpp multi.cpp shmup.cpp pattern2.cpp mapeditor.cpp graph.cpp textures.cpp hprint.cpp language.cpp util.cpp complex.cpp multigame.cpp arbitrile.cpp rulegen.cpp *.cpp > autohdr.h
@@ -174,10 +172,10 @@ savepng$(OBJ_EXTENSION): savepng.cpp
 	./langen > language-data.cpp
 
 savepng$(OBJ_EXTENSION): savepng.cpp
-	$(CXX) -O2 $(CXXFLAGS) -c savepng.cpp -o $@
+	$(CXX) $(CXXFLAGS) -c savepng.cpp -o $@
 
 mymake$(EXE_EXTENSION): mymake.cpp
-	$(CXX) -O2 $(CXXFLAGS) mymake.cpp -pthread -o $@
+	$(CXX) $(CXXFLAGS) mymake.cpp $(LDFLAGS) -pthread -o $@
 
 emscripten: hyper.html
 
