Makefile: build fxo in release/debug directories

This commit is contained in:
Zack Buhman 2026-01-13 14:39:50 -06:00
parent 6236225ce6
commit 20cb55a63e
7 changed files with 28 additions and 18 deletions

View File

@ -1,27 +1,34 @@
BUILD_TYPE ?= debug BUILD_TYPE ?= debug
ifeq ($(BUILD_TYPE),debug)
OPT = -g -Og
LDOPT =
else
OPT = -O2
LDOPT = -flto
endif
PREFIX = i686-w64-mingw32- PREFIX = i686-w64-mingw32-
WINDRES = $(PREFIX)windres WINDRES = $(PREFIX)windres
CXX = $(PREFIX)g++ CXX = $(PREFIX)g++
OPT = -g -Og
CXXSTD += -std=gnu++14 CXXSTD += -std=gnu++14
CFLAGS += -march=core2 CFLAGS += -march=core2
CFLAGS += -Wall -Werror -Wfatal-errors CFLAGS += -Wall -Werror -Wfatal-errors
CFLAGS += -Wno-unused-but-set-variable CFLAGS += -Wno-unused-but-set-variable
CFLAGS += -Wno-unknown-pragmas CFLAGS += -Wno-unknown-pragmas
CFLAGS += -municode
CFLAGS += -I./include
LDFLAGS += -municode
LIBS += -ld3d10
CXXFLAGS += -fno-exceptions CXXFLAGS += -fno-exceptions
CFLAGS += -municode all: $(BUILD_TYPE)/d3d10.exe
WOPT += -municode $(BUILD_TYPE)/%.fxo: src/%.fx
@mkdir -p $(@D)
INCLUDE = \
-I./include
%.fxo: %.fx
ifeq ($(OS),Windows_NT) ifeq ($(OS),Windows_NT)
fxc.exe @"shader_$(BUILD_TYPE).rsp" /T fx_4_0 /nologo /Fo $@ $< fxc.exe @"shader_$(BUILD_TYPE).rsp" /T fx_4_0 /nologo /Fo $@ $<
else else
@ -30,17 +37,19 @@ else
endif endif
SHADERS = \ SHADERS = \
main.fxo \ $(BUILD_TYPE)/effect/main.fxo \
font.fxo \ $(BUILD_TYPE)/effect/font.fxo \
volume.fxo \ $(BUILD_TYPE)/effect/volume.fxo \
bloom.fxo \ $(BUILD_TYPE)/effect/bloom.fxo \
static.fxo $(BUILD_TYPE)/effect/static.fxo
$(BUILD_TYPE)/%.res: %.rc $(SHADERS) $(BUILD_TYPE)/%.res: %.rc $(SHADERS)
$(WINDRES) -O coff -o $@ $< @mkdir -p $(@D)
$(WINDRES) -O coff -I$(BUILD_TYPE)/effect -o $@ $<
$(BUILD_TYPE)/%.obj: src/%.cpp $(BUILD_TYPE)/%.obj: src/%.cpp
$(CXX) $(CXXSTD) $(CFLAGS) $(CXXFLAGS) $(WOPT) $(OPT) -o $@ $(INCLUDE) -c $< @mkdir -p $(@D)
$(CXX) $(CXXSTD) $(CFLAGS) $(CXXFLAGS) $(WOPT) $(OPT) -o $@ -c $<
OBJS = \ OBJS = \
$(BUILD_TYPE)/robot_player.obj \ $(BUILD_TYPE)/robot_player.obj \
@ -51,4 +60,5 @@ OBJS = \
$(BUILD_TYPE)/main.res $(BUILD_TYPE)/main.res
$(BUILD_TYPE)/d3d10.exe: $(OBJS) $(BUILD_TYPE)/d3d10.exe: $(OBJS)
$(CXX) $(LDFLAGS) $(WOPT) -o $@ $(OBJS) -ld3d10 @mkdir -p $(@D)
$(CXX) $(LDFLAGS) $(LDOPT) -o $@ $(OBJS) $(LIBS)