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 hidden or 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