makefile madness

This commit is contained in:
thorium1256 2025-06-22 18:37:08 +03:00
parent 4c9335e73c
commit e379d5e8ee
2 changed files with 7 additions and 15 deletions

View File

@ -16,8 +16,7 @@ BIN_DIR := bin
DBG_DIR := $(BIN_DIR)/debug DBG_DIR := $(BIN_DIR)/debug
RLS_DIR := $(BIN_DIR)/release RLS_DIR := $(BIN_DIR)/release
DBG_EXEC := $(DBG_DIR)/debug DBG_EXEC := $(DBG_DIR)/debug
RLS_EXEC := $(RLS_DIR)/release RLS_STRIPPED_EXEC := $(RLS_DIR)/tuimine
RLS_STRIPPED_EXEC := $(RLS_DIR)/release_stripped
# sources and objects # sources and objects
SRCS := $(wildcard $(SRC_DIR)/*.cpp) SRCS := $(wildcard $(SRC_DIR)/*.cpp)
@ -32,10 +31,10 @@ $(shell mkdir -p $(BUILD_DIR))
# phony rules # phony rules
.PHONY := all debug release clean .PHONY := all debug release clean
all: debug all: release
debug: $(DBG_EXEC) debug: $(DBG_EXEC)
release: $(RLS_EXEC) $(RLS_STRIPPED_EXEC) release: $(RLS_STRIPPED_EXEC)
both: debug release both: debug release
# linking # linking
@ -45,9 +44,6 @@ $(DBG_EXEC): $(DBG_OBJS)
$(RLS_STRIPPED_EXEC): $(RLS_OBJS) $(RLS_STRIPPED_EXEC): $(RLS_OBJS)
$(CXX) -o $@ $^ $(RLS_LDFLAGS) $(CXX) -o $@ $^ $(RLS_LDFLAGS)
$(RLS_EXEC): $(RLS_OBJS)
$(CXX) -o $@ $^ $(LDFLAGS)
# compiling # compiling
$(BUILD_DIR)/debug_%.o: $(SRC_DIR)/%.cpp $(BUILD_DIR)/debug_%.o: $(SRC_DIR)/%.cpp
$(CXX) -c -o $@ $< $(DBG_CXXFLAGS) $(CXX) -c -o $@ $< $(DBG_CXXFLAGS)

View File

@ -17,8 +17,7 @@ DBG_DIR := $(BIN_DIR)\debug
RLS_DIR := $(BIN_DIR)\release RLS_DIR := $(BIN_DIR)\release
LIB_DIR := lib LIB_DIR := lib
DBG_EXEC := $(DBG_DIR)\debug.exe DBG_EXEC := $(DBG_DIR)\debug.exe
RLS_STRIPPED_EXEC := $(RLS_DIR)\release_stripped.exe RLS_STRIPPED_EXEC := $(RLS_DIR)\tuimine.exe
RLS_EXEC := $(RLS_DIR)\release.exe
# sources and objects # sources and objects
LIBS := $(wildcard $(LIB_DIR)/*.dll) LIBS := $(wildcard $(LIB_DIR)/*.dll)
@ -36,10 +35,10 @@ $(shell if not exist $(BUILD_DIR) mkdir $(BUILD_DIR))
# phony rules # phony rules
.PHONY := all debug release clean libraries_debug libraries_release both .PHONY := all debug release clean libraries_debug libraries_release both
all: debug all: release
debug: $(DBG_DIR)/debug.exe libraries_debug debug: $(DBG_EXEC) libraries_debug
release: $(RLS_DIR)/release_stripped.exe $(RLS_DIR)/release.exe libraries_release release: $(RLS_STRIPPED_EXEC) libraries_release
both: debug release both: debug release
libraries_debug: $(LIBS_DBG) libraries_debug: $(LIBS_DBG)
@ -52,9 +51,6 @@ $(DBG_EXEC): $(DBG_OBJS)
$(RLS_STRIPPED_EXEC): $(RLS_OBJS) $(RLS_STRIPPED_EXEC): $(RLS_OBJS)
$(CXX) -o $@ $^ $(RLS_STRP_LDFLAGS) $(CXX) -o $@ $^ $(RLS_STRP_LDFLAGS)
$(RLS_EXEC): $(RLS_OBJS)
$(CXX) -o $@ $^ $(LDFLAGS)
# compiling # compiling
$(BUILD_DIR)/debug_%.o: $(SRC_DIR)/%.cpp $(BUILD_DIR)/debug_%.o: $(SRC_DIR)/%.cpp
$(CXX) -c -o $@ $< $(DBG_CXXFLAGS) $(CXX) -c -o $@ $< $(DBG_CXXFLAGS)