diff --git a/Makefile b/Makefile index ea56c282..d1d47ed4 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,15 @@ # This Makefile works for Mac OS X (El Capitan), MinGW, and Linux. +# +# Environmental vairables: +# If you want to build with Glew, set +# HYPERROGUE_USE_GLEW=1 +# If you want to use libpng, set +# HYPERROGUE_USE_PNG=1 # # For Mac OS X: -# Run "brew install sdl" to install SDL in /usr/local. -# Run "brew install sdl_gfx". -# Run "brew install sdl_mixer". -# Run "brew install sdl_ttf". -# Run "make" to build HyperRogue as ./hyperrogue. +# Run `brew install sdl12-compat sdl_gfx sdl_mixer sdl_ttf` +# Run `brew install glew libpng` to install the optional dependencies +# Run `make` to build HyperRogue as `./hyperrogue`. # # For MSYS2 and MinGW-w64: # You might need to run commands such as "pacman -S mingw-w64-x86_64-SDL" @@ -68,9 +72,10 @@ ifeq (${OS},mingw) endif ifeq (${OS},osx) - CXXFLAGS_EARLY += -DMAC -I/usr/local/include + HOMEBREW_PREFIX := $(shell brew --prefix) + CXXFLAGS_EARLY += -DMAC -I$(HOMEBREW_PREFIX)/include -I$(HOMEBREW_PREFIX)/include/SDL EXE_EXTENSION := - LDFLAGS_EARLY += -L/usr/local/lib + LDFLAGS_EARLY += -L$(HOMEBREW_PREFIX)/lib LDFLAGS_GL := -framework AppKit -framework OpenGL LDFLAGS_GLEW := -lGLEW LDFLAGS_PNG := -lpng diff --git a/README.md b/README.md index a1b2bc0d..6ad2951a 100644 --- a/README.md +++ b/README.md @@ -62,15 +62,13 @@ On Linux with apt-get: On macOS with Homebrew: -```brew install sdl sdl_ttf sdl_gfx sdl_mixer glew``` - -macOS users might also have to edit /usr/local/include/SDL/SDL_gfxPrimitives.h at line 38 to use quote include. +```brew install sdl sdl_ttf sdl_gfx sdl_mixer glew libpng``` ### Building HyperRogue from source ### ``` git clone https://github.com/zenorogue/hyperrogue.git hyperrogue cd hyperrogue -make +HYPERROGUE_USE_GLEW=1 HYPERROGUE_USE_PNG=1 make ``` The `mymake` program builds HyperRogue in parts. It takes longer than the method shown above, but it uses significantly less memory during compilation, and when you change something, `mymake` will only recompile the changed file.