--- klystron/Makefile.orig	2021-01-18 12:22:06 UTC
+++ klystron/Makefile
@@ -1,9 +1,10 @@
 TARGET=engine
 VPATH=src:src
 ECHO = echo
-CFG = debug
+CFG ?= debug
 REV = cp -f
 MACHINE =
+CC ?= gcc
 
 include common.mk
 
@@ -27,8 +28,8 @@ lib_SRC = $(notdir ${wildcard src/lib/*.c})
 lib_DEP = $(patsubst %.c, deps/lib_$(CFG)_%.d, ${lib_SRC})
 lib_OBJ = $(patsubst %.c, objs.$(CFG)/lib_%.o, ${lib_SRC})
 
-CC = gcc -shared -std=gnu99 -Wno-strict-aliasing
-CDEP = gcc -E -std=gnu99
+CC := $(CC) -std=gnu99 -Wno-strict-aliasing
+CDEP := $(CC) -E -std=gnu99
 
 ifndef CFLAGS
 CFLAGS = $(MACHINE) -ftree-vectorize
@@ -44,10 +45,10 @@ else
 		CFLAGS += -O3 -pg -Wall ${INCLUDEFLAGS}
 	else
 		ifeq ($(CFG),release)
-			CFLAGS += -O3 -Wall ${INCLUDEFLAGS} -s
+			CFLAGS += -Wall ${INCLUDEFLAGS}
 		else
 			ifeq ($(CFG),size)
-				CFLAGS += -Os -Wall ${INCLUDEFLAGS} -s -ffast-math -fomit-frame-pointer -DREDUCESIZE
+				CFLAGS += -Os -Wall ${INCLUDEFLAGS} -ffast-math -fomit-frame-pointer -DREDUCESIZE
 			else
 				@$(ECHO) "Invalid configuration "$(CFG)" specified."
 				@$(ECHO) "You must specify a configuration when "
@@ -73,7 +74,7 @@ build: Makefile
 	$(Q)echo '"' >> ./src/version.h
 	$(Q)echo '#define KLYSTRON_VERSION_STRING "klystron " KLYSTRON_REVISION' >> ./src/version.h
 	$(Q)echo '#endif' >> ./src/version.h
-	make all CFG=$(CFG)
+	$(MAKE) all CFG=$(CFG)
 
 all: bin.$(CFG)/lib${TARGET}_snd.a bin.$(CFG)/lib${TARGET}_gfx.a bin.$(CFG)/lib${TARGET}_util.a bin.$(CFG)/lib${TARGET}_gui.a tools
 
@@ -121,7 +122,7 @@ endif
 bin.$(CFG)/ksnd.dll: objs.$(CFG)/lib_ksnd.o ${snd_OBJ} src/lib/ksnd.def | inform
 	$(MSG) "Linking ksnd.dll..."
 	$(Q)mkdir -p bin.$(CFG)
-	$(Q)$(CC) -shared -o $@ objs.$(CFG)/lib_ksnd.o src/lib/ksnd.def ${snd_OBJ} $(CFLAGS) $(INCLUDEFLAGS) -DDLLEXPORT -Wl,--out-implib,bin.$(CFG)/libksnd.a
+	$(Q)$(CC) -o $@ objs.$(CFG)/lib_ksnd.o src/lib/ksnd.def ${snd_OBJ} $(CFLAGS) $(INCLUDEFLAGS) -DDLLEXPORT -Wl,--out-implib,bin.$(CFG)/libksnd.a
 ifdef COMSPEC
 	$(MSG) "Building ksnd.lib..."
 	@-lib /DEF:src/lib/ksnd.def /OUT:bin.$(CFG)/ksnd.lib
@@ -208,10 +209,10 @@ ifneq ($(MAKECMDGOALS),clean)
 endif
 
 tools/bin/makebundle.exe: tools/makebundle/*.c
-	make -C tools/makebundle
+	$(MAKE_ENV) $(MAKE) -C tools/makebundle
 
 ifdef COMSPEC
 tools/bin/editor.exe: tools/editor/src/*
-	make -C tools/editor
+	$(MAKE) -C tools/editor
 	cp tools/editor/bin.$(CFG)/editor.exe tools/bin/editor.exe
 endif
