# 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 -Wno-embedded-directive 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