hyperrogue/Makefile.mgw

50 lines
1.2 KiB
Makefile

# This Makefile works for MSYS2 and MinGW-w64.
#
# You might need to run commands such as "pacman -S mingw-w64-x86_64-SDL"
# to install SDL and other required libraries.
#
# Run "make -f Makefile.mgw" to build HyperRogue as ./hyper.exe.
CXXFLAGS += -std=c++11 -mwindows -DWINDOWS
CXXFLAGS += -D_A_VOLID=8
CXXFLAGS += ${EXTRA_CXXFLAGS}
OBJS = hyper.obj
ifeq (a,b)
# Enable PNG screenshots. Requires libpng.
CXXFLAGS += -DCAP_PNG
LDFLAGS += -lpng
OBJS += savepng.obj
else
CXXFLAGS += -DCAP_PNG=0
endif
ifeq (a,b)
# Enable RogueViz.
CXXFLAGS += -DCAP_ROGUEVIZ
endif
hyper.exe: $(OBJS) hyper.res
$(CXX) $(CXXFLAGS) $(OBJS) hyper.res -lSDL -lSDL_mixer -lopengl32 -lSDL_ttf -lSDL_gfx -lglew32 -o hyper.exe
hyper.obj: *.cpp language-data.cpp hyper.res
$(CXX) $(CXXFLAGS) -O2 -c hyper.cpp -o hyper.obj
hyper.res: hyper.rc hr-icon.ico
windres hyper.rc -O coff -o hyper.res
langen.exe: langen.cpp language-??.cpp language-ptbr.cpp
$(CXX) $(CXXFLAGS) -O0 langen.cpp -o langen
language-data.cpp: langen.exe
./langen.exe > language-data.cpp
savepng.obj: savepng.cpp
$(CXX) $(CXXFLAGS) -O2 -c savepng.cpp -o savepng.obj
.PHONY: clean
clean:
rm -f hyper.exe hyper.obj hyper.res langen.exe language-data.cpp savepng.obj