--- 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