Merge branch 'accurate' into portable

This commit is contained in:
Clownacy 2019-12-05 13:09:52 +00:00
commit 5d562806b1

View file

@ -1,25 +1,28 @@
NATIVECC ?= cc NATIVECC = cc
NATIVECXX ?= c++ NATIVECXX = c++
WINDRES ?= windres WINDRES = windres
PKG_CONFIG ?= pkg-config
BUILD_DIRECTORY = game BUILD_DIRECTORY = game
ASSETS_DIRECTORY = assets ASSETS_DIRECTORY = assets
# Default options # Default options
RENDERER ?= SDLTexture RENDERER = SDLTexture
ALL_CXXFLAGS = $(CXXFLAGS)
ALL_LDFLAGS = $(LDFLAGS)
ALL_LIBS = $(LIBS)
ifeq ($(WINDOWS), 1) ifeq ($(WINDOWS), 1)
EXE_EXTENSION = .exe EXE_EXTENSION = .exe
endif endif
ifeq ($(RELEASE), 1) ifeq ($(RELEASE), 1)
CXXFLAGS = -O3 ALL_CXXFLAGS += -O3
LDFLAGS = -s ALL_LDFLAGS += -s
FILENAME_DEF = CSE2$(EXE_EXTENSION) FILENAME_DEF = CSE2$(EXE_EXTENSION)
DOCONFIG_FILENAME_DEF = DoConfig$(EXE_EXTENSION) DOCONFIG_FILENAME_DEF = DoConfig$(EXE_EXTENSION)
else else
CXXFLAGS = -Og -ggdb3 ALL_CXXFLAGS += -Og -ggdb3
FILENAME_DEF = CSE2_debug$(EXE_EXTENSION) FILENAME_DEF = CSE2_debug$(EXE_EXTENSION)
DOCONFIG_FILENAME_DEF = DoConfig_debug$(EXE_EXTENSION) DOCONFIG_FILENAME_DEF = DoConfig_debug$(EXE_EXTENSION)
endif endif
@ -27,7 +30,7 @@ endif
ifeq ($(JAPANESE), 1) ifeq ($(JAPANESE), 1)
DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_jp DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_jp
CXXFLAGS += -DJAPANESE ALL_CXXFLAGS += -DJAPANESE
else else
DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_en DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_en
endif endif
@ -36,21 +39,21 @@ FILENAME ?= $(FILENAME_DEF)
DOCONFIG_FILENAME ?= $(DOCONFIG_FILENAME_DEF) DOCONFIG_FILENAME ?= $(DOCONFIG_FILENAME_DEF)
ifeq ($(FIX_BUGS), 1) ifeq ($(FIX_BUGS), 1)
CXXFLAGS += -DFIX_BUGS ALL_CXXFLAGS += -DFIX_BUGS
endif endif
ifeq ($(DEBUG_SAVE), 1) ifeq ($(DEBUG_SAVE), 1)
CXXFLAGS += -DDEBUG_SAVE ALL_CXXFLAGS += -DDEBUG_SAVE
endif endif
ifeq ($(WARNINGS), 1) ifeq ($(WARNINGS), 1)
CXXFLAGS += -Wall -Wextra -pedantic ALL_CXXFLAGS += -Wall -Wextra -pedantic
endif endif
ifeq ($(WARNINGS_ALL), 1) ifeq ($(WARNINGS_ALL), 1)
ifneq ($(findstring clang,$(CXX)),) ifneq ($(findstring clang,$(CXX)),)
# Use clang-specific flag -Weverything # Use clang-specific flag -Weverything
CXXFLAGS += -Weverything ALL_CXXFLAGS += -Weverything
else else
# This is indented with spaces because otherwise it doesn't compile (make doesn't like tabs there for some reason) # This is indented with spaces because otherwise it doesn't compile (make doesn't like tabs there for some reason)
$(warning Couldn\'t activate all warnings (Unsupported compiler)) $(warning Couldn\'t activate all warnings (Unsupported compiler))
@ -58,16 +61,16 @@ ifeq ($(WARNINGS_ALL), 1)
endif endif
ifeq ($(WARNINGS_FATAL), 1) ifeq ($(WARNINGS_FATAL), 1)
CXXFLAGS += -Werror ALL_CXXFLAGS += -Werror
endif endif
CXXFLAGS += -std=c++98 -MMD -MP -MF $@.d `$(PKG_CONFIG) sdl2 --cflags` `$(PKG_CONFIG) freetype2 --cflags` ALL_CXXFLAGS += -std=c++98 -MMD -MP -MF $@.d `pkg-config sdl2 --cflags` `pkg-config freetype2 --cflags`
ifeq ($(STATIC), 1) ifeq ($(STATIC), 1)
LDFLAGS += -static ALL_LDFLAGS += -static
LIBS += `$(PKG_CONFIG) sdl2 --libs --static` `$(PKG_CONFIG) freetype2 --libs --static` -lfreetype ALL_LIBS += `pkg-config sdl2 --libs --static` `pkg-config freetype2 --libs --static` -lfreetype
else else
LIBS += `$(PKG_CONFIG) sdl2 --libs` `$(PKG_CONFIG) freetype2 --libs` ALL_LIBS += `pkg-config sdl2 --libs` `pkg-config freetype2 --libs`
endif endif
SOURCES = \ SOURCES = \
@ -220,19 +223,19 @@ endif
ifeq ($(RENDERER), OpenGL3) ifeq ($(RENDERER), OpenGL3)
SOURCES += src/Backends/Rendering/OpenGL3 SOURCES += src/Backends/Rendering/OpenGL3
CXXFLAGS += `$(PKG_CONFIG) glew --cflags` ALL_CXXFLAGS += `pkg-config glew --cflags`
ifeq ($(STATIC), 1) ifeq ($(STATIC), 1)
CXXFLAGS += -DGLEW_STATIC ALL_CXXFLAGS += -DGLEW_STATIC
LIBS += `$(PKG_CONFIG) glew --libs --static` ALL_LIBS += `pkg-config glew --libs --static`
else else
LIBS += `$(PKG_CONFIG) glew --libs` ALL_LIBS += `pkg-config glew --libs`
endif endif
ifeq ($(WINDOWS), 1) ifeq ($(WINDOWS), 1)
LIBS += -lopengl32 ALL_LIBS += -lopengl32
else else
LIBS += -lGL ALL_LIBS += -lGL
endif endif
else ifeq ($(RENDERER), SDLTexture) else ifeq ($(RENDERER), SDLTexture)
SOURCES += src/Backends/Rendering/SDLTexture SOURCES += src/Backends/Rendering/SDLTexture
@ -262,17 +265,17 @@ $(BUILD_DIRECTORY)/data: $(DATA_DIRECTORY)
$(BUILD_DIRECTORY)/$(FILENAME): $(OBJECTS) $(BUILD_DIRECTORY)/$(FILENAME): $(OBJECTS)
@mkdir -p $(@D) @mkdir -p $(@D)
@echo Linking $@ @echo Linking $@
@$(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS) @$(CXX) $(ALL_CXXFLAGS) $(ALL_LDFLAGS) $^ -o $@ $(ALL_LIBS)
obj/$(FILENAME)/%.o: %.cpp obj/$(FILENAME)/%.o: %.cpp
@mkdir -p $(@D) @mkdir -p $(@D)
@echo Compiling $< @echo Compiling $<
@$(CXX) $(CXXFLAGS) $< -o $@ -c @$(CXX) $(ALL_CXXFLAGS) $< -o $@ -c
obj/$(FILENAME)/src/Resource.o: src/Resource.cpp $(addprefix src/Resource/, $(addsuffix .h, $(RESOURCES))) obj/$(FILENAME)/src/Resource.o: src/Resource.cpp $(addprefix src/Resource/, $(addsuffix .h, $(RESOURCES)))
@mkdir -p $(@D) @mkdir -p $(@D)
@echo Compiling $< @echo Compiling $<
@$(CXX) $(CXXFLAGS) $< -o $@ -c @$(CXX) $(ALL_CXXFLAGS) $< -o $@ -c
src/Resource/%.h: $(ASSETS_DIRECTORY)/resources/% obj/bin2h src/Resource/%.h: $(ASSETS_DIRECTORY)/resources/% obj/bin2h
@mkdir -p $(@D) @mkdir -p $(@D)