ref: a3bd721df246beab1a6768cec8fdaca5ba70537e
dir: /Makefile/
WINDRES ?= windres BUILD_DIRECTORY = game ASSETS_DIRECTORY = assets ALL_CXXFLAGS = $(CXXFLAGS) ALL_LDFLAGS = $(LDFLAGS) ALL_LIBS = $(LIBS) ifeq ($(RELEASE), 1) ALL_CXXFLAGS += -O3 -DNDEBUG ALL_LDFLAGS += -s FILENAME_DEF = CSE2.exe else ALL_CXXFLAGS += -Og -ggdb3 FILENAME_DEF = CSE2_debug.exe endif ifeq ($(LTO), 1) ALL_CXXFLAGS += -flto endif ifeq ($(JAPANESE), 1) DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_jp ALL_CXXFLAGS += -DJAPANESE else DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_en endif FILENAME ?= $(FILENAME_DEF) ifeq ($(FIX_BUGS), 1) ALL_CXXFLAGS += -DFIX_BUGS endif ifeq ($(CONSOLE), 1) ALL_CXXFLAGS += -mconsole else ALL_CXXFLAGS += -mwindows endif ifeq ($(DEBUG_SAVE), 1) ALL_CXXFLAGS += -DDEBUG_SAVE endif ifeq ($(WARNINGS), 1) ALL_CXXFLAGS += -Wall -Wextra -pedantic endif ifeq ($(WARNINGS_ALL), 1) ifneq ($(findstring clang,$(CXX)),) # Use Clang-specific flag -Weverything ALL_CXXFLAGS += -Weverything else $(warning Couldn't activate all warnings (unsupported compiler)) endif endif ifeq ($(WARNINGS_FATAL), 1) ALL_CXXFLAGS += -Werror endif ALL_CXXFLAGS += -std=c++98 -MMD -MP -MF $@.d ALL_LIBS += -lkernel32 -lgdi32 -lddraw -ldinput -ldsound -lversion -lshlwapi -limm32 -lwinmm -ldxguid ifeq ($(STATIC), 1) ALL_LDFLAGS += -static endif SOURCES = \ src/ArmsItem.cpp \ src/Back.cpp \ src/Boss.cpp \ src/BossAlmo1.cpp \ src/BossAlmo2.cpp \ src/BossBallos.cpp \ src/BossFrog.cpp \ src/BossIronH.cpp \ src/BossLife.cpp \ src/BossOhm.cpp \ src/BossPress.cpp \ src/BossTwinD.cpp \ src/BossX.cpp \ src/BulHit.cpp \ src/Bullet.cpp \ src/Caret.cpp \ src/Config.cpp \ src/Dialog.cpp \ src/Draw.cpp \ src/Ending.cpp \ src/Escape.cpp \ src/Fade.cpp \ src/Flags.cpp \ src/Flash.cpp \ src/Frame.cpp \ src/Game.cpp \ src/Generic.cpp \ src/GenericLoad.cpp \ src/Input.cpp \ src/KeyControl.cpp \ src/Main.cpp \ src/Map.cpp \ src/MapName.cpp \ src/MiniMap.cpp \ src/MyChar.cpp \ src/MycHit.cpp \ src/MycParam.cpp \ src/NpcAct000.cpp \ src/NpcAct020.cpp \ src/NpcAct040.cpp \ src/NpcAct060.cpp \ src/NpcAct080.cpp \ src/NpcAct100.cpp \ src/NpcAct120.cpp \ src/NpcAct140.cpp \ src/NpcAct160.cpp \ src/NpcAct180.cpp \ src/NpcAct200.cpp \ src/NpcAct220.cpp \ src/NpcAct240.cpp \ src/NpcAct260.cpp \ src/NpcAct280.cpp \ src/NpcAct300.cpp \ src/NpcAct320.cpp \ src/NpcAct340.cpp \ src/NpChar.cpp \ src/NpcHit.cpp \ src/NpcTbl.cpp \ src/Organya.cpp \ src/PixTone.cpp \ src/Profile.cpp \ src/SelStage.cpp \ src/Shoot.cpp \ src/Sound.cpp \ src/Stage.cpp \ src/Star.cpp \ src/TextScr.cpp \ src/Triangle.cpp \ src/ValueView.cpp RESOURCES = \ BITMAP/Credit01.bmp \ BITMAP/Credit02.bmp \ BITMAP/Credit03.bmp \ BITMAP/Credit04.bmp \ BITMAP/Credit05.bmp \ BITMAP/Credit06.bmp \ BITMAP/Credit07.bmp \ BITMAP/Credit08.bmp \ BITMAP/Credit09.bmp \ BITMAP/Credit10.bmp \ BITMAP/Credit11.bmp \ BITMAP/Credit12.bmp \ BITMAP/Credit14.bmp \ BITMAP/Credit15.bmp \ BITMAP/Credit16.bmp \ BITMAP/Credit17.bmp \ BITMAP/Credit18.bmp \ BITMAP/pixel.bmp \ CURSOR/CURSOR_IKA.cur \ CURSOR/CURSOR_NORMAL.cur \ ICON/0.ico \ ICON/ICON_MINI.ico \ ORG/Access.org \ ORG/Anzen.org \ ORG/Balcony.org \ ORG/Ballos.org \ ORG/BreakDown.org \ ORG/Cemetery.org \ ORG/Curly.org \ ORG/Dr.org \ ORG/Ending.org \ ORG/Escape.org \ ORG/Fanfale1.org \ ORG/Fanfale2.org \ ORG/Fanfale3.org \ ORG/FireEye.org \ ORG/Gameover.org \ ORG/Ginsuke.org \ ORG/Grand.org \ ORG/Gravity.org \ ORG/Hell.org \ ORG/ironH.org \ ORG/Jenka.org \ ORG/Jenka2.org \ ORG/Kodou.org \ ORG/LastBtl3.org \ ORG/LastBtl.org \ ORG/LastCave.org \ ORG/Marine.org \ ORG/Maze.org \ ORG/MDown2.org \ ORG/Mura.org \ ORG/Oside.org \ ORG/Plant.org \ ORG/quiet.org \ ORG/Requiem.org \ ORG/Toroko.org \ ORG/Vivi.org \ ORG/Wanpak2.org \ ORG/Wanpaku.org \ ORG/Weed.org \ ORG/White.org \ ORG/XXXX.org \ ORG/Zonbie.org \ WAVE/Wave.dat OBJECTS = $(addprefix obj/$(FILENAME)/, $(addsuffix .o, $(SOURCES))) DEPENDENCIES = $(addprefix obj/$(FILENAME)/, $(addsuffix .o.d, $(SOURCES))) OBJECTS += obj/$(FILENAME)/windows_resources.o all: $(BUILD_DIRECTORY)/$(FILENAME) $(BUILD_DIRECTORY)/data $(info Finished) $(BUILD_DIRECTORY)/data: $(DATA_DIRECTORY) @mkdir -p $(@D) @rm -rf $(BUILD_DIRECTORY)/data @cp -r $(DATA_DIRECTORY) $(BUILD_DIRECTORY)/data $(BUILD_DIRECTORY)/$(FILENAME): $(OBJECTS) @mkdir -p $(@D) $(info Linking $@) @$(CXX) $(ALL_CXXFLAGS) $(ALL_LDFLAGS) $^ -o $@ $(ALL_LIBS) obj/$(FILENAME)/%.cpp.o: %.cpp @mkdir -p $(@D) $(info Compiling $<) @$(CXX) $(ALL_CXXFLAGS) $< -o $@ -c include $(wildcard $(DEPENDENCIES)) obj/$(FILENAME)/windows_resources.o: $(ASSETS_DIRECTORY)/resources/CSE2.rc $(ASSETS_DIRECTORY)/resources/resource1.h $(ASSETS_DIRECTORY)/resources/afxres.h $(addprefix $(ASSETS_DIRECTORY)/resources/, $(RESOURCES)) @mkdir -p $(@D) $(info Compiling Windows resource file $<) @$(WINDRES) $< $@ # TODO clean: @rm -rf obj