Created
June 17, 2014 06:34
-
-
Save yamamushi/99b4e29f75a521ef2ef8 to your computer and use it in GitHub Desktop.
OSX Makefile for libtcod
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# libtcod makefile | |
# to build debug version, run "make -f makefile-linux debug" | |
# to build release version, run "make -f makefile-linux release" | |
SRCDIR=src | |
INCDIR=include | |
#dependencies | |
# SDL | |
SDL_FLAGS=`sdl-config --cflags` | |
SDL_LIBS=`sdl-config --libs` | |
# ZLIB | |
ZLIB_FLAGS= | |
ZLIB_LIBS=-lz | |
#OPENGL | |
OPENGL_LIB=-framework OpenGL | |
# Mac support | |
OSXCOMPAT = osx/macsupport.m -framework Cocoa | |
CFLAGS=$(FLAGS) -I$(INCDIR) -I$(INCDIR)/gui -Wall $(SDL_FLAGS) $(ZLIB_FLAGS) -fno-strict-aliasing -fPIC -ansi | |
TEMP=/tmp | |
CC=gcc | |
CPP=g++ | |
.SUFFIXES: a .o .h .c | |
$(TEMP)/libtcod/release/%.o : $(SRCDIR)/%.c | |
$(CC) $(CFLAGS) -DNDEBUG -O2 -s -o $@ -c $< | |
$(TEMP)/libtcod/release/%.o : $(SRCDIR)/%.cpp | |
$(CPP) $(CFLAGS) -DNDEBUG -O2 -s -o $@ -c $< | |
$(TEMP)/libtcod/release/gui/%.o : $(SRCDIR)/gui/%.cpp | |
$(CPP) $(CFLAGS) -DNDEBUG -O2 -s -o $@ -c $< | |
$(TEMP)/libtcod/debug/%.o : $(SRCDIR)/%.c | |
$(CC) $(CFLAGS) -g -o $@ -c $< | |
$(TEMP)/libtcod/debug/%.o : $(SRCDIR)/%.cpp | |
$(CPP) $(CFLAGS) -g -o $@ -c $< | |
$(TEMP)/libtcod/debug/gui/%.o : $(SRCDIR)/gui/%.cpp | |
$(CPP) $(CFLAGS) -g -o $@ -c $< | |
LIBOBJS_C_DEBUG= \ | |
$(TEMP)/libtcod/debug/bresenham_c.o \ | |
$(TEMP)/libtcod/debug/bsp_c.o \ | |
$(TEMP)/libtcod/debug/color_c.o \ | |
$(TEMP)/libtcod/debug/console_c.o \ | |
$(TEMP)/libtcod/debug/fov_c.o \ | |
$(TEMP)/libtcod/debug/fov_circular_raycasting.o \ | |
$(TEMP)/libtcod/debug/fov_diamond_raycasting.o \ | |
$(TEMP)/libtcod/debug/fov_recursive_shadowcasting.o \ | |
$(TEMP)/libtcod/debug/fov_permissive2.o \ | |
$(TEMP)/libtcod/debug/fov_restrictive.o \ | |
$(TEMP)/libtcod/debug/heightmap_c.o \ | |
$(TEMP)/libtcod/debug/image_c.o \ | |
$(TEMP)/libtcod/debug/lex_c.o \ | |
$(TEMP)/libtcod/debug/list_c.o \ | |
$(TEMP)/libtcod/debug/mersenne_c.o \ | |
$(TEMP)/libtcod/debug/noise_c.o \ | |
$(TEMP)/libtcod/debug/parser_c.o \ | |
$(TEMP)/libtcod/debug/path_c.o \ | |
$(TEMP)/libtcod/debug/sys_c.o \ | |
$(TEMP)/libtcod/debug/sys_opengl_c.o \ | |
$(TEMP)/libtcod/debug/sys_sdl_c.o \ | |
$(TEMP)/libtcod/debug/sys_sdl12_c.o \ | |
$(TEMP)/libtcod/debug/sys_sdl_img_bmp.o \ | |
$(TEMP)/libtcod/debug/sys_sdl_img_png.o \ | |
$(TEMP)/libtcod/debug/tree_c.o \ | |
$(TEMP)/libtcod/debug/txtfield_c.o \ | |
$(TEMP)/libtcod/debug/wrappers.o \ | |
$(TEMP)/libtcod/debug/zip_c.o \ | |
$(TEMP)/libtcod/debug/namegen_c.o \ | |
$(TEMP)/libtcod/debug/png/lodepng.o | |
LIBOBJS_CPP_DEBUG= \ | |
$(TEMP)/libtcod/debug/bresenham.o \ | |
$(TEMP)/libtcod/debug/bsp.o \ | |
$(TEMP)/libtcod/debug/color.o \ | |
$(TEMP)/libtcod/debug/console.o \ | |
$(TEMP)/libtcod/debug/fov.o \ | |
$(TEMP)/libtcod/debug/heightmap.o \ | |
$(TEMP)/libtcod/debug/image.o \ | |
$(TEMP)/libtcod/debug/lex.o \ | |
$(TEMP)/libtcod/debug/mersenne.o \ | |
$(TEMP)/libtcod/debug/mouse.o \ | |
$(TEMP)/libtcod/debug/noise.o \ | |
$(TEMP)/libtcod/debug/parser.o \ | |
$(TEMP)/libtcod/debug/path.o \ | |
$(TEMP)/libtcod/debug/sys.o \ | |
$(TEMP)/libtcod/debug/txtfield.o \ | |
$(TEMP)/libtcod/debug/zip.o \ | |
$(TEMP)/libtcod/debug/namegen.o | |
GUIOBJS_DEBUG= \ | |
$(TEMP)/libtcod/debug/gui/button.o \ | |
$(TEMP)/libtcod/debug/gui/container.o \ | |
$(TEMP)/libtcod/debug/gui/flatlist.o \ | |
$(TEMP)/libtcod/debug/gui/hbox.o \ | |
$(TEMP)/libtcod/debug/gui/image.o \ | |
$(TEMP)/libtcod/debug/gui/label.o \ | |
$(TEMP)/libtcod/debug/gui/radiobutton.o \ | |
$(TEMP)/libtcod/debug/gui/slider.o \ | |
$(TEMP)/libtcod/debug/gui/statusbar.o \ | |
$(TEMP)/libtcod/debug/gui/textbox.o \ | |
$(TEMP)/libtcod/debug/gui/togglebutton.o \ | |
$(TEMP)/libtcod/debug/gui/toolbar.o \ | |
$(TEMP)/libtcod/debug/gui/vbox.o \ | |
$(TEMP)/libtcod/debug/gui/widget.o | |
LIBOBJS_C_RELEASE= \ | |
$(TEMP)/libtcod/release/bresenham_c.o \ | |
$(TEMP)/libtcod/release/bsp_c.o \ | |
$(TEMP)/libtcod/release/color_c.o \ | |
$(TEMP)/libtcod/release/console_c.o \ | |
$(TEMP)/libtcod/release/fov_c.o \ | |
$(TEMP)/libtcod/release/fov_circular_raycasting.o \ | |
$(TEMP)/libtcod/release/fov_diamond_raycasting.o \ | |
$(TEMP)/libtcod/release/fov_recursive_shadowcasting.o \ | |
$(TEMP)/libtcod/release/fov_permissive2.o \ | |
$(TEMP)/libtcod/release/fov_restrictive.o \ | |
$(TEMP)/libtcod/release/heightmap_c.o \ | |
$(TEMP)/libtcod/release/image_c.o \ | |
$(TEMP)/libtcod/release/lex_c.o \ | |
$(TEMP)/libtcod/release/list_c.o \ | |
$(TEMP)/libtcod/release/mersenne_c.o \ | |
$(TEMP)/libtcod/release/noise_c.o \ | |
$(TEMP)/libtcod/release/parser_c.o \ | |
$(TEMP)/libtcod/release/path_c.o \ | |
$(TEMP)/libtcod/release/sys_c.o \ | |
$(TEMP)/libtcod/release/sys_opengl_c.o \ | |
$(TEMP)/libtcod/release/sys_sdl_c.o \ | |
$(TEMP)/libtcod/release/sys_sdl12_c.o \ | |
$(TEMP)/libtcod/release/sys_sdl_img_bmp.o \ | |
$(TEMP)/libtcod/release/sys_sdl_img_png.o \ | |
$(TEMP)/libtcod/release/txtfield_c.o \ | |
$(TEMP)/libtcod/release/tree_c.o \ | |
$(TEMP)/libtcod/release/wrappers.o \ | |
$(TEMP)/libtcod/release/zip_c.o \ | |
$(TEMP)/libtcod/release/namegen_c.o \ | |
$(TEMP)/libtcod/release/png/lodepng.o | |
LIBOBJS_CPP_RELEASE= \ | |
$(TEMP)/libtcod/release/bresenham.o \ | |
$(TEMP)/libtcod/release/bsp.o \ | |
$(TEMP)/libtcod/release/color.o \ | |
$(TEMP)/libtcod/release/console.o \ | |
$(TEMP)/libtcod/release/fov.o \ | |
$(TEMP)/libtcod/release/heightmap.o \ | |
$(TEMP)/libtcod/release/image.o \ | |
$(TEMP)/libtcod/release/lex.o \ | |
$(TEMP)/libtcod/release/mersenne.o \ | |
$(TEMP)/libtcod/release/mouse.o \ | |
$(TEMP)/libtcod/release/noise.o \ | |
$(TEMP)/libtcod/release/parser.o \ | |
$(TEMP)/libtcod/release/path.o \ | |
$(TEMP)/libtcod/release/sys.o \ | |
$(TEMP)/libtcod/release/txtfield.o \ | |
$(TEMP)/libtcod/release/zip.o \ | |
$(TEMP)/libtcod/release/namegen.o | |
GUIOBJS_RELEASE= \ | |
$(TEMP)/libtcod/release/gui/button.o \ | |
$(TEMP)/libtcod/release/gui/container.o \ | |
$(TEMP)/libtcod/release/gui/flatlist.o \ | |
$(TEMP)/libtcod/release/gui/hbox.o \ | |
$(TEMP)/libtcod/release/gui/image.o \ | |
$(TEMP)/libtcod/release/gui/label.o \ | |
$(TEMP)/libtcod/release/gui/radiobutton.o \ | |
$(TEMP)/libtcod/release/gui/slider.o \ | |
$(TEMP)/libtcod/release/gui/statusbar.o \ | |
$(TEMP)/libtcod/release/gui/textbox.o \ | |
$(TEMP)/libtcod/release/gui/togglebutton.o \ | |
$(TEMP)/libtcod/release/gui/toolbar.o \ | |
$(TEMP)/libtcod/release/gui/vbox.o \ | |
$(TEMP)/libtcod/release/gui/widget.o | |
all : debug release | |
debug : libtcod_debug.dylib libtcodxx_debug.dylib libtcodgui_debug.dylib | |
release : libtcod.dylib libtcodxx.dylib libtcodgui.dylib | |
$(TEMP)/libtcod/debug/png : | |
mkdir -p $@ | |
$(TEMP)/libtcod/debug/gui : | |
mkdir -p $@ | |
$(TEMP)/libtcod/release/png : | |
mkdir -p $@ | |
$(TEMP)/libtcod/release/gui : | |
mkdir -p $@ | |
libtcod.a : $(LIBOBJS_C_DEBUG) | |
ar r $@ $(LIBOBJS_C_DEBUG) | |
libtcodxx.a : $(LIBOBJS_CPP_DEBUG) | |
ar r $@ $(LIBOBJS_CPP_DEBUG) | |
libtcod.dylib : $(TEMP)/libtcod/release/png $(LIBOBJS_C_RELEASE) | |
g++ -shared -Wl,-install_name,$@ -o $@ $(LIBOBJS_C_RELEASE) $(OSXCOMPAT) $(ZLIB_LIBS) $(SDL_LIBS) $(CFLAGS) $(OPENGL_LIB) | |
libtcodxx.dylib : $(TEMP)/libtcod/release/png $(LIBOBJS_CPP_RELEASE) | |
g++ -shared -Wl,-install_name,$@ -o $@ $(LIBOBJS_CPP_RELEASE) $(OSXCOMPAT) -L. -ltcod $(CFLAGS) | |
libtcodgui.dylib : $(TEMP)/libtcod/release/gui $(GUIOBJS_RELEASE) | |
g++ -shared -Wl,-install_name,$@ -o $@ $(GUIOBJS_RELEASE) $(OSXCOMPAT) -L. -ltcod -ltcodxx $(CFLAGS) | |
libtcod_debug.dylib : $(TEMP)/libtcod/debug/png $(LIBOBJS_C_DEBUG) | |
g++ -shared -Wl,-install_name,$@ -o $@ $(LIBOBJS_C_DEBUG) $(OSXCOMPAT) $(ZLIB_LIBS) $(SDL_LIBS) $(CFLAGS) $(OPENGL_LIB) | |
libtcodxx_debug.dylib : $(TEMP)/libtcod/debug/png $(LIBOBJS_CPP_DEBUG) | |
g++ -shared -Wl,-install_name,$@ -o $@ $(LIBOBJS_CPP_DEBUG) $(OSXCOMPAT) -L. -ltcod_debug $(CFLAGS) | |
libtcodgui_debug.dylib : $(TEMP)/libtcod/debug/gui $(GUIOBJS_DEBUG) | |
g++ -shared -Wl,-install_name,$@ -o $@ $(GUIOBJS_DEBUG) $(OSXCOMPAT) -L. -ltcod_debug -ltcodxx_debug $(CFLAGS) | |
clean : | |
\rm -f $(LIBOBJS_C_RELEASE) $(LIBOBJS_CPP_RELEASE) $(GUIOBJS_RELEASE) $(LIBOBJS_C_DEBUG) $(LIBOBJS_CPP_DEBUG) $(GUIOBJS_DEBUG) libtcod.a libtcodxx.a libtcod.dylib libtcodxx.dylib libtcodgui.dylib libtcod_debug.dylib libtcodxx_debug.dylib libtcodgui_debug.dylib libtcodpy.pyc | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment