Introducing a special release build target with SVN version stamping.

This commit is contained in:
SpinDizzy 2020-12-24 10:20:26 +00:00
parent 1f50519905
commit 53185c3eff
3 changed files with 23 additions and 8 deletions

View file

@ -106,6 +106,8 @@ PLATFORM_SRC_FILES = \
Src/OSD/Windows/DirectInputSystem.cpp \ Src/OSD/Windows/DirectInputSystem.cpp \
Src/OSD/Windows/WinOutputs.cpp Src/OSD/Windows/WinOutputs.cpp
.PHONY: clean
include Makefiles/Rules.inc include Makefiles/Rules.inc
clean: clean:

View file

@ -44,7 +44,7 @@ OUTFILE = supermodel
# #
# Construct Supermodel build options # Construct Supermodel build options
# #
SUPERMODEL_BUILD_FLAGS = SUPERMODEL_BUILD_FLAGS =
# If render state analyser is enabled, need to define DEBUG # If render state analyser is enabled, need to define DEBUG
ifeq ($(strip $(DEBUG)),1) ifeq ($(strip $(DEBUG)),1)
@ -66,10 +66,10 @@ ifeq ($(strip $(ENABLE_DEBUGGER)),1)
SUPERMODEL_BUILD_FLAGS += -DSUPERMODEL_DEBUGGER SUPERMODEL_BUILD_FLAGS += -DSUPERMODEL_DEBUGGER
endif endif
# #
# Compiler options # Compiler options
# #
ARCH = ARCH =
OPT = -Ofast OPT = -Ofast
WARN = -Wall WARN = -Wall
CSTD = -std=iso9899:2011 CSTD = -std=iso9899:2011
@ -212,6 +212,17 @@ INCLUDE_DIRS = $(sort $(foreach file,$(SRC_FILES),$(dir $(file))))
# #
all: $(BIN_DIR)/$(OUTFILE) all: $(BIN_DIR)/$(OUTFILE)
#
# Release target: used only to create official builds stamped with the SVN
# version number.
#
release: set_version clean all
set_version:
$(eval VERSION = 0.3a-svn-$(shell svnversion --no-newline))
$(eval SUPERMODEL_BUILD_FLAGS += -DSUPERMODEL_VERSION=\"$(VERSION)\")
$(info Building Supermodel Version $(VERSION))
$(BIN_DIR)/$(OUTFILE): $(BIN_DIR) $(OBJ_DIR) $(OBJ_FILES) $(BIN_DIR)/$(OUTFILE): $(BIN_DIR) $(OBJ_DIR) $(OBJ_FILES)
$(info --------------------------------------------------------------------------------) $(info --------------------------------------------------------------------------------)
$(info Linking Supermodel : $(BIN_DIR)/$(OUTFILE)) $(info Linking Supermodel : $(BIN_DIR)/$(OUTFILE))

View file

@ -6,7 +6,7 @@
** This file is part of Supermodel. ** This file is part of Supermodel.
** **
** Supermodel is free software: you can redistribute it and/or modify it under ** Supermodel is free software: you can redistribute it and/or modify it under
** the terms of the GNU General Public License as published by the Free ** the terms of the GNU General Public License as published by the Free
** Software Foundation, either version 3 of the License, or (at your option) ** Software Foundation, either version 3 of the License, or (at your option)
** any later version. ** any later version.
** **
@ -18,16 +18,18 @@
** You should have received a copy of the GNU General Public License along ** You should have received a copy of the GNU General Public License along
** with Supermodel. If not, see <http://www.gnu.org/licenses/>. ** with Supermodel. If not, see <http://www.gnu.org/licenses/>.
**/ **/
/* /*
* Version.h * Version.h
* *
* Supermodel version string. * Supermodel version string.
*/ */
#ifndef INCLUDED_VERSION_H #ifndef INCLUDED_VERSION_H
#define INCLUDED_VERSION_H #define INCLUDED_VERSION_H
#define SUPERMODEL_VERSION "0.3a-WIP" #ifndef SUPERMODEL_VERSION
#define SUPERMODEL_VERSION "0.3a-WIP"
#endif
#endif // INCLUDED_VERSION_H #endif // INCLUDED_VERSION_H