Backport the enhanced branch's C support
Currently, the Makefile only supports C++, despite Glad being C.
This commit is contained in:
parent
d76b074aa0
commit
2a497a4aae
1 changed files with 20 additions and 5 deletions
25
Makefile
25
Makefile
|
@ -8,6 +8,7 @@ ASSETS_DIRECTORY = assets
|
||||||
# Default options
|
# Default options
|
||||||
RENDERER = SDLTexture
|
RENDERER = SDLTexture
|
||||||
|
|
||||||
|
ALL_CFLAGS = $(CFLAGS)
|
||||||
ALL_CXXFLAGS = $(CXXFLAGS)
|
ALL_CXXFLAGS = $(CXXFLAGS)
|
||||||
ALL_LDFLAGS = $(LDFLAGS)
|
ALL_LDFLAGS = $(LDFLAGS)
|
||||||
ALL_LIBS = $(LIBS)
|
ALL_LIBS = $(LIBS)
|
||||||
|
@ -17,11 +18,13 @@ ifeq ($(WINDOWS), 1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(RELEASE), 1)
|
ifeq ($(RELEASE), 1)
|
||||||
|
ALL_CFLAGS += -O3 -DNDEBUG
|
||||||
ALL_CXXFLAGS += -O3 -DNDEBUG
|
ALL_CXXFLAGS += -O3 -DNDEBUG
|
||||||
ALL_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
|
||||||
|
ALL_CFLAGS += -Og -ggdb3
|
||||||
ALL_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)
|
||||||
|
@ -30,7 +33,7 @@ endif
|
||||||
ifeq ($(JAPANESE), 1)
|
ifeq ($(JAPANESE), 1)
|
||||||
DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_jp
|
DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_jp
|
||||||
|
|
||||||
CSE2_CXXFLAGS += -DJAPANESE
|
DEFINES += -DJAPANESE
|
||||||
else
|
else
|
||||||
DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_en
|
DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_en
|
||||||
endif
|
endif
|
||||||
|
@ -39,20 +42,22 @@ FILENAME ?= $(FILENAME_DEF)
|
||||||
DOCONFIG_FILENAME ?= $(DOCONFIG_FILENAME_DEF)
|
DOCONFIG_FILENAME ?= $(DOCONFIG_FILENAME_DEF)
|
||||||
|
|
||||||
ifeq ($(FIX_BUGS), 1)
|
ifeq ($(FIX_BUGS), 1)
|
||||||
CSE2_CXXFLAGS += -DFIX_BUGS
|
DEFINES += -DFIX_BUGS
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(DEBUG_SAVE), 1)
|
ifeq ($(DEBUG_SAVE), 1)
|
||||||
CSE2_CXXFLAGS += -DDEBUG_SAVE
|
DEFINES += -DDEBUG_SAVE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(WARNINGS), 1)
|
ifeq ($(WARNINGS), 1)
|
||||||
|
ALL_CFLAGS += -Wall -Wextra -pedantic
|
||||||
ALL_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
|
||||||
|
ALL_CFLAGS += -Weverything
|
||||||
ALL_CXXFLAGS += -Weverything
|
ALL_CXXFLAGS += -Weverything
|
||||||
else
|
else
|
||||||
$(warning Couldn't activate all warnings (unsupported compiler))
|
$(warning Couldn't activate all warnings (unsupported compiler))
|
||||||
|
@ -60,9 +65,13 @@ ifeq ($(WARNINGS_ALL), 1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(WARNINGS_FATAL), 1)
|
ifeq ($(WARNINGS_FATAL), 1)
|
||||||
|
ALL_CFLAGS += -Werror
|
||||||
ALL_CXXFLAGS += -Werror
|
ALL_CXXFLAGS += -Werror
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ALL_CFLAGS += -std=c99 -MMD -MP -MF $@.d
|
||||||
|
CSE2_CFLAGS += $(shell pkg-config sdl2 --cflags) $(shell pkg-config freetype2 --cflags)
|
||||||
|
|
||||||
ALL_CXXFLAGS += -std=c++98 -MMD -MP -MF $@.d
|
ALL_CXXFLAGS += -std=c++98 -MMD -MP -MF $@.d
|
||||||
CSE2_CXXFLAGS += $(shell pkg-config sdl2 --cflags) $(shell pkg-config freetype2 --cflags)
|
CSE2_CXXFLAGS += $(shell pkg-config sdl2 --cflags) $(shell pkg-config freetype2 --cflags)
|
||||||
|
|
||||||
|
@ -225,6 +234,7 @@ endif
|
||||||
|
|
||||||
ifeq ($(RENDERER), OpenGL3)
|
ifeq ($(RENDERER), OpenGL3)
|
||||||
SOURCES += src/Backends/Rendering/OpenGL3 external/glad/src/glad
|
SOURCES += src/Backends/Rendering/OpenGL3 external/glad/src/glad
|
||||||
|
CSE2_CFLAGS += -Iexternal/glad/include
|
||||||
CSE2_CXXFLAGS += -Iexternal/glad/include
|
CSE2_CXXFLAGS += -Iexternal/glad/include
|
||||||
|
|
||||||
ifeq ($(WINDOWS), 1)
|
ifeq ($(WINDOWS), 1)
|
||||||
|
@ -262,15 +272,20 @@ $(BUILD_DIRECTORY)/$(FILENAME): $(OBJECTS)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
@$(CXX) $(ALL_CXXFLAGS) $(CSE2_CXXFLAGS) $(ALL_LDFLAGS) $^ -o $@ $(ALL_LIBS) $(CSE2_LIBS)
|
@$(CXX) $(ALL_CXXFLAGS) $(CSE2_CXXFLAGS) $(ALL_LDFLAGS) $^ -o $@ $(ALL_LIBS) $(CSE2_LIBS)
|
||||||
|
|
||||||
|
obj/$(FILENAME)/%.o: %.c
|
||||||
|
@mkdir -p $(@D)
|
||||||
|
$(info Compiling $<)
|
||||||
|
@$(CC) $(ALL_CFLAGS) $(CSE2_CFLAGS) $(DEFINES) $< -o $@ -c
|
||||||
|
|
||||||
obj/$(FILENAME)/%.o: %.cpp
|
obj/$(FILENAME)/%.o: %.cpp
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
$(info Compiling $<)
|
$(info Compiling $<)
|
||||||
@$(CXX) $(ALL_CXXFLAGS) $(CSE2_CXXFLAGS) $< -o $@ -c
|
@$(CXX) $(ALL_CXXFLAGS) $(CSE2_CXXFLAGS) $(DEFINES) $< -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)
|
||||||
$(info Compiling $<)
|
$(info Compiling $<)
|
||||||
@$(CXX) $(ALL_CXXFLAGS) $(CSE2_CXXFLAGS) $< -o $@ -c
|
@$(CXX) $(ALL_CXXFLAGS) $(CSE2_CXXFLAGS) $(DEFINES) $< -o $@ -c
|
||||||
|
|
||||||
src/Resource/%.h: $(ASSETS_DIRECTORY)/resources/% obj/bin2h
|
src/Resource/%.h: $(ASSETS_DIRECTORY)/resources/% obj/bin2h
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
|
|
Loading…
Add table
Reference in a new issue