summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/makefile615
-rw-r--r--crawl-ref/source/makefile.mgw236
-rw-r--r--crawl-ref/source/makefile.mgw_unix238
-rw-r--r--crawl-ref/source/makefile.osx40
-rw-r--r--crawl-ref/source/makefile.unix325
-rw-r--r--crawl-ref/source/makefile_tiles.mgw292
-rw-r--r--crawl-ref/source/makefile_tiles.mgw_unix274
-rw-r--r--crawl-ref/source/makefile_tiles.unix371
-rw-r--r--crawl-ref/source/rltiles/makefile.unix26
-rw-r--r--crawl-ref/source/util/Makefile26
-rw-r--r--crawl-ref/source/util/lua/src/Makefile22
-rw-r--r--crawl-ref/source/util/sqlite/Makefile17
12 files changed, 649 insertions, 1833 deletions
diff --git a/crawl-ref/source/makefile b/crawl-ref/source/makefile
index 03861c74db..39e5af50db 100644
--- a/crawl-ref/source/makefile
+++ b/crawl-ref/source/makefile
@@ -1,55 +1,596 @@
-#Makefile chooser. Choose one:
+#
+# Dungeon Crawl Stone Soup
+# GNU Makefile
+#
+# largely written by Steven Noonan <steven@uplinklabs.net>
+# (if something breaks, blame him.)
+#
-MAKEFILE ?= makefile.unix
-#MAKEFILE ?= makefile.dos
-#MAKEFILE ?= makefile.osx
-#MAKEFILE ?= makefile.mgw
-#MAKEFILE ?= makefile_tiles.mgw
-#MAKEFILE ?= makefile_tiles.unix
+GAME = crawl
-#These are for cross-compiling purposes on crawl.develz.org, here for convenience:
+CC = gcc
+CXX = g++
+DELETE = rm -f
+COPY = cp
-#MAKEFILE ?= makefile.mgw_unix
-#MAKEFILE ?= makefile_tiles.mgw_unix
+#
+# Platform Detection
+#
+# Use the variable OSNAME if you need to add something that's
+# platform-specific.
+# The valid OSNAME values are currently:
+# 'WIN32': alias for MinGW and Cygwin
+# 'MacOS': alias for Darwin (Mac OS X)
+# and non-translated values from other platforms (values from
+# 'uname -s' call). So Linux is simply 'Linux', etc.
+#
+UNAME_S := $(shell uname -s | cut -d'_' -f1)
+OSNAME =
+ifeq ($(UNAME_S),MINGW32)
+OSNAME = WIN32
+endif
+ifeq ($(UNAME_S),CYGWIN)
+OSNAME = WIN32
+endif
+ifeq ($(UNAME_S),Darwin)
+OSNAME = MacOS
+endif
+ifeq ($(OSNAME),)
+OSNAME = $(UNAME_S)
+endif
-all:
- +$(MAKE) -f $(MAKEFILE)
+ifeq ($(OSNAME),WIN32)
+GAME = crawl.exe
+endif
-profile:
- +$(MAKE) -f $(MAKEFILE) EXTRA_FLAGS='-pg'
+TILES = n
-noopt:
- +$(MAKE) -f $(MAKEFILE)
+#
+# Set up object file dependencies for $(GAME) target.
+#
+include makefile.obj
-install:
- +$(MAKE) -f $(MAKEFILE) install
+# Works for Mac OS X and Linux.
+OBJECTS += crash-u.o
+
+ifneq ($(TILES),n)
+OBJECTS += libgui.o tile2.o tilereg.o tilepick.o tilesdl.o tilefont.o tiletex.o tilemcache.o tilebuf.o
+else
+ifneq ($(UNAME_S),MINGW32)
+OBJECTS += libunix.o
+else
+OBJECTS += libw32c.o
+endif
+endif
+
+# To get stack trace symbols.
+# Note that MinGW doesn't support -rdynamic.
+ifeq ($(OSNAME),WIN32)
+LDFLAGS :=
+else
+LDFLAGS := -rdynamic
+endif
+
+# Change this to y (case-sensitive!) if you want to use Unicode glyphs
+# in the map, and you have libncursesw available.
+UNICODE_GLYPHS = n
+
+# If you're using UNICODE_GLYPHS=y, and have a preferred Unicode
+# (UTF-8) locale you want Crawl to use, you can set it here. The
+# default is en_US.UTF-8. If you'd prefer that Crawl use the locale
+# as set in your environment LC_* variables, use UNICODE_LOCALE = .
+UNICODE_LOCALE =
+
+# If you have lex and yacc, set DOYACC to y (lowercase y).
+DOYACC := y
+
+# Permissions to set on the game executable.
+MCHMOD := 2755
+
+# Permissions to set on the save directory.
+MCHMOD_SAVEDIR := 775
+
+# The user:group to install the game as.
+INSTALL_UGRP := games:games
+
+INSTALLDIR := /usr/games/crawl
+
+# If you're installing Crawl for multiple users, you *must* set this to a
+# valid path before building Crawl. This is not necessary if you are building
+# Crawl for a single user.
+
+# SAVEDIR := /usr/games/crawl/saves/
+# DATADIR := /usr/games/crawl/data/
+
+PCH := n
+
+# libpcre
+PCRESRC := util/pcre/
+PCRELIB := pcre
+PCRELIBA := lib$(PCRELIB).a
+FPCRELIBA := $(PCRESRC)$(PCRELIBA)
+
+# LUA
+LUASRC := util/lua/src/
+LUALIB := lua
+LUALIBA := lib$(LUALIB).a
+FLUALIBA := $(LUASRC)$(LUALIBA)
+
+# SQLite
+SQLSRC := util/sqlite/
+SQLLIB := sqlite3
+SQLLIBA := lib$(SQLLIB).a
+FSQLLIBA := $(SQLSRC)$(SQLLIBA)
+
+LIBDBM := $(FSQLLIBA)
+EXTRA_INCLUDES += -I$(SQLSRC)
+EXTRA_DEPENDS += $(FSQLLIBA)
+
+LIB := -L$(LUASRC) -l$(LUALIB) $(LIBDBM)
+
+INCLUDES += -Iutil -I. -I$(LUASRC) $(EXTRA_INCLUDES)
+
+
+ifneq ($(TILES),n)
+RLTILES = rltiles
+
+ifneq ($(shell which pkg-config 2> /dev/null),)
+
+# If pkg-config is available, it's the surest way to find where
+# the contributing libraries are located.
+#
+PNG_INCLUDE := $(shell pkg-config libpng --cflags-only-I)
+PNG_CFLAGS := $(shell pkg-config libpng --cflags-only-other)
+PNG_LDFLAGS := $(shell pkg-config libpng --libs)
+
+FREETYPE_INCLUDE := $(shell pkg-config freetype2 --cflags-only-I)
+FREETYPE_CFLAGS := $(shell pkg-config freetype2 --cflags-only-other)
+FREETYPE_LDFLAGS := $(shell pkg-config freetype2 --libs)
+
+SDL_INCLUDE := $(shell pkg-config sdl --cflags-only-I)
+SDL_CFLAGS := $(shell pkg-config sdl --cflags-only-other)
+SDL_LDFLAGS := $(shell pkg-config sdl --libs)
+
+else # pkg-config
+
+# Ugh, pkg-config isn't available. We're probably on MinGW, Cygwin,
+# or some other stupid platform. We've got to assume that the
+# libraries are either in the standard paths or are in /opt/<lib>/.
+#
+PNG_INCLUDE := -I/opt/libpng/include
+PNG_CFLAGS :=
+PNG_LDFLAGS := -L/opt/libpng/lib -lpng
+
+FREETYPE_INCLUDE := -I/opt/freetype/include
+FREETYPE_CFLAGS :=
+FREETYPE_LDFLAGS := -L/opt/freetype/lib -lfreetype
+
+ifneq ($(which sdl-config 2> /dev/null),)
+
+# sdl-config is our second best bet...
+#
+SDL_INCLUDE := $(shell sdl-config --cflags | tr ' ' '\n' | grep ^[-]I | tr '\n' ' ')
+SDL_CFLAGS := $(shell sdl-config --cflags | tr ' ' '\n' | grep -v ^[-]I | tr '\n' ' ')
+SDL_LDFLAGS := $(shell sdl-config --libs)
+
+else # sdl-config
+
+# Fine, we have to make some REALLY ugly assumptions...
+#
+SDL_INCLUDE := -I/opt/sdl/include/SDL
+SDL_CFLAGS :=
+SDL_LDFLAGS := -L/opt/sdl/lib -lSDL -lSDLmain
+
+endif # sdl-config
+endif # pkg-config
+
+LIB += $(PNG_LDFLAGS) $(FREETYPE_LDFLAGS) $(SDL_LDFLAGS) -lSDL_image
+ifeq ($(OSNAME),MacOS)
+LIB += -framework OpenGL -framework AppKit
+else
+LIB += -lGL -lGLU
+endif
+
+EXTRA_FLAGS += -DUSE_TILE $(PNG_CFLAGS) $(FREETYPE_CFLAGS) $(SDL_CFLAGS)
+INCLUDES += -I$(RLTILES) $(PNG_INCLUDE) $(FREETYPE_INCLUDE) $(SDL_INCLUDE)
+endif # TILES
+
+
+CFWARN := -Wall -Wno-parentheses -Wwrite-strings -Wshadow -pedantic
+CFOTHERS = -fno-strict-aliasing -fsigned-char $(EXTRA_FLAGS) -DCLUA_BINDINGS -pipe $(SDL_CFLAGS)
+
+#
+# Figure out the build settings for this type of build
+#
+
+# Crawl defaults
+# Optimized, no debugging.
+FULLDEBUG=n
+WIZARD=n
+DEBUG=n
+OPTIMIZE=y
+
+# Debug
+# No optimization, full debugging.
+ifeq ($(MAKECMDGOALS),debug)
+FULLDEBUG=y
+WIZARD=y
+DEBUG=y
+OPTIMIZE=n
+endif
+
+# Wizard
+# Optimized, with wizard mode.
+ifeq ($(MAKECMDGOALS),wizard)
+FULLDEBUG=n
+WIZARD=y
+DEBUG=y
+OPTIMIZE=y
+endif
+
+# Profile
+# Optimized, with full debugging.
+ifeq ($(MAKECMDGOALS),profile)
+FULLDEBUG=y
+WIZARD=y
+DEBUG=y
+OPTIMIZE=y
+endif
+
+ifeq ($(FULLDEBUG),y)
+EXTRA_FLAGS += -DFULLDEBUG
+endif
+ifeq ($(DEBUG),y)
+EXTRA_FLAGS += -ggdb
+endif
+ifeq ($(WIZARD),y)
+EXTRA_FLAGS += -DWIZARD
+endif
+ifeq ($(OPTIMIZE),y)
+CFOPTIMIZE := -O2
+else
+CFOPTIMIZE := -O0
+endif
+ifneq ($(PCH),n)
+CFWARN += -Winvalid-pch
+endif
+
+# Cygwin has a panic attack if we do this...
+ifneq ($(UNAME_S),CYGWIN)
+CFWARN += -Wuninitialized
+else
+CFWARN += -Wno-uninitialized
+endif
+
+ifneq ($(strip $(SAVEDIR)),)
+CFOTHERS += '-DSAVE_DIR_PATH="$(strip $(SAVEDIR))"'
+endif
+
+ifneq ($(strip $(DATADIR)),)
+CFOTHERS += '-DDATA_DIR_PATH="$(strip $(DATADIR))"'
+endif
+
+ifeq ($(strip $(UNICODE_GLYPHS)),y)
+# Include path for (n)curses with Unicode support.
+INCLUDES += -I/usr/include/ncursesw
+
+# Your ncurses library may include Unicode support, and you may not have a
+# separate libncursesw; in that case, change this line accordingly.
+LIBCURS = ncursesw
+CFOTHERS += -DUNICODE_GLYPHS
+
+ifneq ($(strip $(UNICODE_LOCALE)),)
+ifneq ($(strip $(UNICODE_LOCALE)),.)
+CFOTHERS += -DUNICODE_LOCALE=\"$(strip $(UNICODE_LOCALE))\"
+else
+CFOTHERS += -DUNICODE_LOCALE=\"\"
+endif
+endif
+
+# The standard ncurses library also supports Unicode on Mac OS/Darwin.
+ifeq ($(shell uname),Darwin)
+LIBCURS = ncurses
+endif
+
+else
+# Include path for curses or ncurses (non-Unicode).
+INCLUDES += -I/usr/include/ncurses
+LIBCURS = ncurses
+endif
+
+ifeq ($(OSNAME),WIN32)
+ifneq ($(TILES),n)
+CFOTHERS += -DWIN32TILES
+else
+CFOTHERS += -DWIN32CONSOLE
+endif
+endif
+
+ifeq ($(OSNAME),WIN32)
+INCLUDES += -Iutil/pcre
+LIB += $(FPCRELIBA)
+else
+LIB += -l$(LIBCURS)
+endif
+
+CFLAGS := $(CFOPTIMIZE) $(CFWARN) $(INCLUDES) $(CFOTHERS)
+YCFLAGS := $(CFOPTIMIZE) $(CFOTHERS) $(INCLUDES)
+
+UTIL = util/
+
+OBJECTS := $(UTIL)levcomp.tab.o $(UTIL)levcomp.lex.o $(OBJECTS)
+
+LEX := $(shell which flex 2> /dev/null)
+YACC := $(shell which bison 2> /dev/null)
+
+ifeq ($(strip $(LEX)),)
+DOYACC := n
+endif
+ifeq ($(strip $(YACC)),)
+DOYACC := n
+endif
+
+ifneq ($(findstring $(MAKEFLAGS),s),s)
+ifndef V
+ QUIET_CC = @echo ' ' CC $@;
+ QUIET_CXX = @echo ' ' CXX $@;
+ QUIET_PCH = @echo ' ' PCH $@;
+ QUIET_LINK = @echo ' ' LINK $@;
+ QUIET_COPY = @echo ' ' COPY $@;
+ QUIET_DEPEND = @echo ' ' DEPEND $@;
+ export V
+endif
+endif
+
+ifneq ($(TILES),n)
+TILEDEFS = dngn main player gui unrand
+TILEDEFPRES = $(TILEDEFS:%=$(RLTILES)/tiledef-%)
+TILEDEFTXTS = $(TILEDEFPRES:%=%.txt)
+TILEDEFOBJS = $(TILEDEFPRES:%=%.o)
+TILEDEFSRCS = $(TILEDEFPRES:%=%.cc)
+TILEDEFHDRS = $(TILEDEFPRES:%=%.h)
+
+TILEFILES = \
+ main.png \
+ player.png \
+ dngn.png \
+ gui.png
+ORIGTILEFILES = $(TILEFILES:%=$(RLTILES)/%)
+DESTTILEFILES = $(TILEFILES:%=dat/tiles/%)
+
+EXTRA_DEPENDS += $(DESTTILEFILES)
+OBJECTS += $(TILEDEFOBJS)
+endif
+
+GAME_DEPENDS := $(LUASRC)$(LUALIBA) $(EXTRA_DEPENDS) $(OBJECTS)
+SRC_PKG_BASE := stone_soup
+SRC_VERSION := $(shell egrep 'VER_NUM *".*"' version.h | cut -d'"' -f2)
+PKG_SRC_DIR := $(SRC_PKG_BASE)-$(SRC_VERSION)-src
+SRC_PKG_TAR := $(PKG_SRC_DIR).tbz2
+SRC_PKG_ZIP := $(PKG_SRC_DIR).zip
+
+ifeq ($(UNAME_S),MINGW32)
+GAME_DEPENDS += $(FPCRELIBA)
+endif
+
+PKG_TIDY_LIST := $(UTIL)*.o $(LEVCOMP) *.o \
+ $(UTIL)*.tab.cc $(UTIL)*.tab.h $(UTIL)*.lex.cc *.ixx
+PKG_EXCLUDES := $(PWD)/misc/src-pkg-excludes.lst
+
+##########################################################################
+
+all: $(GAME)
+
+test: $(GAME)
+ $(PWD)/$(GAME) -test
+
+##########################################################################
+# Dependencies
+
+DEPENDENCY_MKF := makefile.dep
+
+ifeq ($(shell which fastdep 2> /dev/null),)
+depend: $(OBJECTS:.o=.cc)
+ rm -f $(DEPENDENCY_MKF).tmp
+ @for i in $^; do \
+ echo ' ' DEP $$i; \
+ $(CXX) -MM $(CFLAGS) $$i >>$(DEPENDENCY_MKF).tmp 2>/dev/null; \
+ done
+ mv -f $(DEPENDENCY_MKF).tmp $(DEPENDENCY_MKF)
+else
+depend: $(DEPENDENCY_MKF)
+
+%.dep: $(OBJECTS:.o=.cc)
+ $(QUIET_DEPEND)fastdep $(INCLUDES) *.h $(OBJECTS:.o=.cc) > $@
+endif
+
+-include $(DEPENDENCY_MKF)
+
+##########################################################################
+# The level compiler
+#
+
+ifeq ($(strip $(DOYACC)),y)
+
+prebuildyacc: $(UTIL)levcomp.tab.cc $(UTIL)levcomp.tab.h $(UTIL)levcomp.lex.cc
+ $(QUIET_COPY)$(COPY) $^ prebuilt/
+
+$(UTIL)levcomp.tab.cc: $(UTIL)levcomp.ypp
+ +@$(MAKE) -C $(UTIL) levcomp.tab.cc
+
+$(UTIL)levcomp.lex.cc: $(UTIL)levcomp.lpp
+ +@$(MAKE) -C $(UTIL) levcomp.lex.cc
+
+else
+
+# Pull the level-compiler stuff up from prebuilt/
+
+$(UTIL)levcomp.tab.cc: prebuilt/levcomp.tab.cc
+ $(QUIET_COPY)$(COPY) prebuilt/*.h $(UTIL)
+ $(QUIET_COPY)$(COPY) $< $@
+
+$(UTIL)levcomp.lex.cc: prebuilt/levcomp.lex.cc
+ $(QUIET_COPY)$(COPY) $< $@
+
+endif
+
+##########################################################################
+
+
+##########################################################################
+# The actual build targets
+#
+
+install: $(GAME)
+ifeq ($(DATADIR),)
+ $(error DATADIR not set! Set DATADIR and run make clean install again)
+endif
+ [ -d $(INSTALLDIR) ] || mkdir -p $(INSTALLDIR)
+ $(COPY) $(GAME) $(INSTALLDIR)
+ chown $(INSTALL_UGRP) $(INSTALLDIR)/$(GAME)
+ chmod $(MCHMOD) $(INSTALLDIR)/$(GAME)
+ mkdir -p $(DATADIR)/dat
+ mkdir -p $(DATADIR)/dat/lua
+ mkdir -p $(DATADIR)/dat/clua
+ mkdir -p $(DATADIR)/dat/descript
+ mkdir -p $(DATADIR)/dat/database
+ $(COPY) dat/*.des $(DATADIR)/dat
+ $(COPY) dat/lua/*.lua $(DATADIR)/dat/lua
+ $(COPY) dat/clua/*.lua $(DATADIR)/dat/clua
+ $(COPY) dat/descript/*.txt $(DATADIR)/dat/descript
+ $(COPY) dat/database/*.txt $(DATADIR)/dat/database
+ mkdir -p $(DATADIR)/settings
+ $(COPY) ../settings/* $(DATADIR)/settings/
+ mkdir -p $(DATADIR)/docs
+ $(COPY) ../docs/*.txt $(DATADIR)/docs
+ chown -R $(INSTALL_UGRP) $(DATADIR)
+ifneq ($(SAVEDIR),)
+ mkdir -p $(SAVEDIR)
+ chown $(INSTALL_UGRP) $(SAVEDIR)
+ chmod $(MCHMOD_SAVEDIR) $(SAVEDIR)
+endif
clean:
- +$(MAKE) -f $(MAKEFILE) clean
+ +$(MAKE) -C $(UTIL) clean
+ $(DELETE) *.o
+ $(DELETE) *.ixx
+
+clean-lua:
+ +$(MAKE) -C $(LUASRC) clean
+
+clean-sql:
+ +$(MAKE) -C $(SQLSRC) clean
+
+distclean: clean clean-lua clean-sql clean-rltiles
+ $(DELETE) bones.*
+ $(DELETE) morgue.txt
+ $(DELETE) scores
+ $(DELETE) $(GAME)
+ $(DELETE) *.sav
+ $(DELETE) core
+ $(DELETE) *.0*
+ $(DELETE) *.lab
+ $(DELETE) $(DEPENDENCY_MKF)
+
+$(GAME): $(GAME_DEPENDS)
+ $(QUIET_LINK)$(CXX) $(LDFLAGS) $(CFLAGS) $(OBJECTS) -o $(GAME) $(LIB)
+
+.PHONY : debug profile wizard
+
+debug: $(GAME)
+profile: $(GAME)
+wizard: $(GAME)
+
+# [ds] Note we don't use the standard CFLAGS here; that's intentional, most
+# flex/bison combos I've tried don't produce code that passes the warnings
+# test.
+
+$(UTIL)%.o: $(UTIL)%.cc
+ $(QUIET_CXX)$(CXX) $(YCFLAGS) -o $@ -c $<
+
+ifneq ($(PCH),n)
+%.h.gch: %.h
+ $(QUIET_PCH)$(CXX) $(CFLAGS) -c $< -o $@
+
+CC_DEP := AppHdr.h.gch
+endif
+
+$(OBJECTS:%.o=%.cc): $(CC_DEP) $(TILEDEFHDRS)
+
+%.o: %.m
+ $(QUIET_CXX)$(CC) $(CFLAGS) -c $< -o $@
+
+%.o: %.cc
+ $(QUIET_CXX)$(CXX) $(CFLAGS) -c $< -o $@
+
+#############################################################################
+# Build PCRE
+
+$(FPCRELIBA):
+ +@$(MAKE) -C $(PCRESRC)
+
+#############################################################################
+# Build Lua
+
+$(FLUALIBA):
+ +@$(MAKE) -C $(LUASRC) crawl_unix
+
+#############################################################################
+# Build SQLite
+
+$(FSQLLIBA):
+ +@$(MAKE) -C $(SQLSRC)
+
+#############################################################################
+# Build unrandart data
+art-data.h: art-data.txt util/art-data.pl art-func.h
+ util/art-data.pl
+
+#############################################################################
+# RLTiles
+#
+
+.PHONY: rltile-build
+rltile-build:
+ $(MAKE) -C $(RLTILES) -f makefile.unix all
+
+$(TILEDEFSRCS): rltile-build
+$(TILEDEFHDRS): rltile-build
+$(ORIGTILEFILES): rltile-build
+
+dat/tiles/%.png: $(RLTILES)/%.png
+ $(QUIET_COPY)$(COPY) $< $@
-distclean:
- +$(MAKE) -f $(MAKEFILE) distclean
+clean-rltiles:
+ +$(MAKE) -C $(RLTILES) -f makefile.unix distclean
-depend:
- +$(MAKE) -f $(MAKEFILE) depend
+#############################################################################
+# Packaging a source tarball for release
+#
-# WIZARD mode currently includes asserts, bounds checking, item checking and
-# monster checking.
-wizard:
- +$(MAKE) -f $(MAKEFILE) debug EXTRA_FLAGS='-g -DWIZARD -DDEBUG -DDEBUG_ITEM_SCAN -DDEBUG_MONS_SCAN'
+# To package, you *must* have lex and yacc to generate the intermediates.
+ifeq ($(DOYACC),y)
+package-source: distclean prebuildyacc pkgtidy depend removeold vlink \
+ pkgtarbz2 pkgzip
-# DEBUG mode includes WIZARD mode as well as copious debugging input
-debug:
- +$(MAKE) -f $(MAKEFILE) DEBUG_CRAWL=y debug EXTRA_FLAGS='-g -DFULLDEBUG -DWIZARD'
+pkgtidy:
+ $(DELETE) $(PKG_TIDY_LIST)
-# [dshaligram] The individual makefile need not necessarily support
-# package-source; only makefile.unix does at the moment.
-package-source:
- +$(MAKE) -f $(MAKEFILE) package-source
+removeold:
+ if [ -f ../../$(SRC_PKG_TAR) ]; then $(DELETE) ../../$(SRC_PKG_TAR); fi
+ if [ -f ../../$(SRC_PKG_ZIP) ]; then $(DELETE) ../../$(SRC_PKG_ZIP); fi
-prebuildyacc:
- +$(MAKE) -f $(MAKEFILE) prebuildyacc
+# [ds] Existing directory names could produce a bad package!
+vlink:
+ cd .. && WHERE=$$PWD && cd .. && \
+ ( [ -e $(PKG_SRC_DIR) ] || ln -sf $$WHERE $(PKG_SRC_DIR) )
-# DO NOT DELETE THIS LINE -- $(MAKE) depend depends on it.
+pkgtarbz2:
+ cd ../.. && tar -ch --bzip2 -f $(SRC_PKG_TAR) \
+ -X $(PKG_EXCLUDES) $(PKG_SRC_DIR)
+pkgzip:
+ cd ../.. && zip -rq $(SRC_PKG_ZIP) $(PKG_SRC_DIR) \
+ -x@$(PKG_EXCLUDES)
+endif
diff --git a/crawl-ref/source/makefile.mgw b/crawl-ref/source/makefile.mgw
deleted file mode 100644
index ec353b9415..0000000000
--- a/crawl-ref/source/makefile.mgw
+++ /dev/null
@@ -1,236 +0,0 @@
-# -*- Makefile -*- for Dungeon Crawl (Win32, MinGW)
-
-# makefile.obj includes a list of object files needed to build Crawl.
-include makefile.obj
-
-ifeq ($(DEBUG_CRAWL),)
-OPATH := rel
-else
-OPATH := dbg
-endif
-
-# need .exe so make will find the right file
-APPNAME = $(OPATH)\crawl.exe
-CXX = g++
-DELETE = del
-COPY = copy
-OS_TYPE = WIN32CONSOLE
-
-INSTALLDIR := $(OPATH)
-
-# If you don't have flex or bison, set DOYACC to N or empty.
-DOYACC := n
-
-LEX := flex
-YACC := bison -y
-
-ifeq ($(LUASRC),)
-LUASRC := util\lua\src
-endif
-
-LUALIB = lua
-LUALIBA = lib$(LUALIB).a
-
-SQLSRC := util\sqlite
-SQLLIB := sqlite3
-SQLIBA := lib$(SQLLIB).a
-FSQLLIBA := $(SQLLIB)\$(SQLIBA)
-
-PCRESRC := util\pcre
-PCRELIB := pcre
-PCRELIBA := lib$(PCRELIB).a
-
-LIB = -static -lwinmm -L$(LUASRC) -l$(LUALIB) -L$(SQLSRC) -l$(SQLLIB) -L$(PCRESRC) -lpcre
-INCLUDES := -Iutil -I. -I$(LUASRC) -I$(SQLSRC) -I$(PCRESRC)
-
-CFWARN := -Wall -Wwrite-strings -Wshadow -pedantic
-
-CFOTHERS := -fsigned-char \
- -fstrict-aliasing \
- -pedantic \
- -O2 \
- -D$(OS_TYPE) $(EXTRA_FLAGS) \
- -DWINMM_PLAY_SOUNDS -DCLUA_BINDINGS
-
-CFLAGS := $(INCLUDES) $(CFWARN) $(CFOTHERS)
-YCFLAGS := $(INCLUDES) $(CFOTHERS)
-
-OBJECTS := $(OBJECTS) libw32c.o crash-w.o
-
-LDFLAGS =
-
-#LIB = -lcurso -lpano
-
-UTIL = util/
-
-YTABC := levcomp.tab.c
-YTABH := levcomp.tab.h
-
-
-ifeq ($(LEX),)
-DOYACC :=
-endif
-
-ifeq ($(YACC),)
-DOYACC :=
-endif
-
-RESOURCE := $(UTIL)crawl.rc
-RESOURCEOBJ := crawlres.o
-WINDRES := windres.exe
-
-# Do the levcomp stuff first because that's the most likely to fail.
-OBJECTS := levcomp.tab.o levcomp.lex.o \
- $(OBJECTS) $(RESOURCEOBJ)
-
-OBJECTS := $(foreach file,$(OBJECTS),$(OPATH)/$(file))
-
-GAME_DEPENDS := prepare $(LUASRC)\$(LUALIBA) $(FSQLLIBA) $(PCRESRC)\$(PCRELIBA) $(OBJECTS)
-
-##########################################################################
-
-all: $(APPNAME)
-
-prepare:
- if not exist $(OPATH) mkdir $(OPATH)
-
-DEPENDENCY_MKF := makefile.dep
--include $(DEPENDENCY_MKF)
-
-##########################################################################
-# The level compiler
-#
-ifeq ($(DOYACC),y)
-
-# [ds] A plague on the broken copy command on Windoze.
-prebuildyacc: $(UTIL)levcomp.lex.cc $(UTIL)levcomp.tab.cc $(UTIL)levcomp.tab.h
- $(subst /,\,for %%f in ($^) do $(COPY) %%f prebuilt)
-
-$(UTIL)levcomp.tab.cc: $(UTIL)levcomp.ypp
- $(subst /,\, cd $(UTIL)) && $(YACC) -d -b levcomp levcomp.ypp
- $(subst /,\, cd $(UTIL)) && move $(YTABC) levcomp.tab.cc
-
-$(UTIL)levcomp.lex.cc: $(UTIL)levcomp.lpp
- $(subst /,\, cd $(UTIL) && $(LEX) -olevcomp.lex.cc levcomp.lpp)
-
-else
-
-$(UTIL)levcomp.tab.cc: prebuilt/levcomp.tab.cc
- $(subst /,\,$(COPY) prebuilt/*.h $(UTIL))
- $(subst /,\,$(COPY) $< $@)
-
-$(UTIL)levcomp.lex.cc: prebuilt/levcomp.lex.cc
- $(subst /,\,$(COPY) $< $@)
-
-endif
-
-##########################################################################
-
-install: $(APPNAME)
-ifneq ($(OPATH),$(INSTALLDIR))
- $(COPY) $(APPNAME) ${INSTALLDIR}
-endif
- mkdir $(INSTALLDIR)\dat 2>nul || echo "" >nul
- mkdir $(INSTALLDIR)\dat\lua 2>null || echo "">nul
- mkdir $(INSTALLDIR)\dat\clua 2>null || echo "">nul
- mkdir $(INSTALLDIR)\dat\descript 2>null || echo "">nul
- mkdir $(INSTALLDIR)\dat\database 2>null || echo "">nul
- mkdir $(INSTALLDIR)\settings 2>null || echo "">nul
- mkdir $(INSTALLDIR)\docs 2>null || echo "">nul
- copy /y dat\*.des $(INSTALLDIR)\dat
- copy /y dat\lua\*.lua $(INSTALLDIR)\dat\lua
- copy /y dat\clua\*.lua $(INSTALLDIR)\dat\clua
- copy /y dat\descript\*.txt $(INSTALLDIR)\dat\descript
- copy /y dat\database\*.txt $(INSTALLDIR)\dat\database
- copy /y ..\settings\* $(INSTALLDIR)\settings
- copy /y ..\docs\* $(INSTALLDIR)\docs
- copy /y ..\* $(INSTALLDIR)
- $(DELETE) $(INSTALLDIR)\*.sh
-
-clean:
- $(DELETE) $(OPATH)\*.o
- $(subst /,\,$(DELETE) $(UTIL)*.o)
- $(subst /,\,$(DELETE) $(UTIL)*.exe)
- $(subst /,\,$(DELETE) $(UTIL)*.lex.cc)
- $(subst /,\,$(DELETE) $(UTIL)*.tab.cc)
- $(subst /,\,$(DELETE) $(UTIL)*.tab.h)
- $(subst /,\,$(DELETE) $(UTIL)*.tab.c)
- $(subst /,\,$(DELETE) *.ixx)
-
-clean-lua:
- cd $(LUASRC) && $(MAKE) clean_win
-
-clean-sql:
- cd $(SQLSRC) && $(MAKE) "RM_F=del /f" clean
-
-clean-pcre:
- cd $(PCRESRC) && $(MAKE) clean
-
-distclean: clean clean-lua clean-sql clean-pcre
- $(DELETE) $(OPATH)\*.o
- $(DELETE) *.o
- $(DELETE) bones.*
- $(DELETE) $(OPATH)\bones.*
- $(DELETE) morgue.txt
- $(DELETE) $(OPATH)\morgue.txt
- $(DELETE) scores
- $(DELETE) $(OPATH)\scores
- $(DELETE) crawl.exe
- $(DELETE) $(subst /,\,$(APPNAME))
- $(DELETE) *.sav
- $(DELETE) $(OPATH)\*.sav
- $(DELETE) core
- $(DELETE) $(OPATH)\core
- $(DELETE) *.0*
- $(DELETE) $(OPATH)\*.0*
- $(DELETE) *.lab
- $(DELETE) $(OPATH)\*.lab
-
-$(APPNAME): $(GAME_DEPENDS)
- ${CXX} ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
- strip $(APPNAME)
-
-debug: $(GAME_DEPENDS)
- ${CXX} ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
-
-profile: $(GAME_DEPENDS)
- ${CXX} -g -p ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
-
-$(OPATH)/%.o: %.cc
- ${CXX} ${CFLAGS} -o $@ -c $<
-
-$(OPATH)/%.o: $(UTIL)%.cc
- $(CXX) $(YCFLAGS) -o $@ -c $<
-
-#############################################################################
-# Build Lua
-
-$(LUASRC)\$(LUALIBA):
- @echo Building Lua...
- @cd $(LUASRC) && $(MAKE) crawl_mingw
-
-#############################################################################
-# Build SQLite
-
-$(FSQLLIBA):
- @echo Building SQLite
- cd $(SQLSRC) && $(MAKE)
-
-#############################################################################
-# Build unrandart data
-art-data.h: art-data.txt util/art-data.pl art-func.h
- util/art-data.pl
-
-#############################################################################
-# Build PCRE
-
-$(PCRESRC)\$(PCRELIBA):
- @echo Building PCRE...
- @cd $(PCRESRC) && $(MAKE)
-
-##########################################################################
-# Resources
-#
-
-$(OPATH)/$(RESOURCEOBJ): $(RESOURCE)
- $(WINDRES) $< $@
diff --git a/crawl-ref/source/makefile.mgw_unix b/crawl-ref/source/makefile.mgw_unix
deleted file mode 100644
index 036b90109e..0000000000
--- a/crawl-ref/source/makefile.mgw_unix
+++ /dev/null
@@ -1,238 +0,0 @@
-# -*- Makefile -*- for Dungeon Crawl (Cross-compiling MinGW for crawl.develz.org)
-
-# makefile.obj includes a list of object files needed to build Crawl.
-include makefile.obj
-
-OPATH := build
-
-# need .exe so make will find the right file
-APPNAME = $(OPATH)/crawl.exe
-CXX = i586-mingw32msvc-g++
-DELETE = rm -f
-COPY = cp
-OS_TYPE = WIN32CONSOLE
-
-ifeq ($(INSTALLDIR),)
-INSTALLDIR := crawl-mingw32
-endif
-
-# If you don't have flex or bison, set DOYACC to N or empty.
-DOYACC := n
-
-LEX := flex
-YACC := bison -y
-
-ifeq ($(LUASRC),)
-LUASRC := util/lua/src
-endif
-
-LUALIB = lua
-LUALIBA = lib$(LUALIB).a
-
-SQLSRC := util/sqlite
-SQLLIB := sqlite3
-SQLIBA := lib$(SQLLIB).a
-FSQLLIBA := $(SQLLIB)/$(SQLIBA)
-
-PCRESRC := util/pcre
-PCRELIB := pcre
-PCRELIBA := lib$(PCRELIB).a
-
-LIB = -static -L$(HOME)/source/mingw32/lib -lwinmm -L$(LUASRC) -l$(LUALIB) -L$(SQLSRC) -l$(SQLLIB) -L$(PCRESRC) -l$(PCRELIB)
-INCLUDES := -Iutil -I. -I$(HOME)/source/mingw32/include -I$(LUASRC) -I$(SQLSRC) -I$(PCRESRC)
-
-CFWARN := -Wwrite-strings
-
-CFOTHERS := -fsigned-char \
- -fstrict-aliasing \
- -pedantic \
- -O2 \
- -D$(OS_TYPE) $(EXTRA_FLAGS) \
- -DWINMM_PLAY_SOUNDS -DCLUA_BINDINGS -DWIZARD
-
-CFLAGS := $(INCLUDES) $(CFWARN) $(CFOTHERS)
-YCFLAGS := $(INCLUDES) $(CFOTHERS)
-
-OBJECTS := $(OBJECTS) libw32c.o crash-w.o
-
-LDFLAGS =
-
-#LIB = -lcurso -lpano
-
-UTIL = util/
-
-YTABC := levcomp.tab.c
-YTABH := levcomp.tab.h
-
-
-ifeq ($(LEX),)
-DOYACC :=
-endif
-
-ifeq ($(YACC),)
-DOYACC :=
-endif
-
-RESOURCE := $(UTIL)crawl.rc
-RESOURCEOBJ := crawlres.o
-WINDRES := i586-mingw32msvc-windres
-
-# Do the levcomp stuff first because that's the most likely to fail.
-OBJECTS := levcomp.tab.o levcomp.lex.o \
- $(OBJECTS) $(RESOURCEOBJ)
-
-OBJECTS := $(foreach file,$(OBJECTS),$(OPATH)/$(file))
-
-GAME_DEPENDS := prepare $(LUASRC)/$(LUALIBA) $(FSQLLIBA) $(PCRESRC)/$(PCRELIBA) $(OBJECTS)
-
-##########################################################################
-
-all: $(APPNAME)
-
-prepare:
- mkdir -p $(OPATH)
-
-DEPENDENCY_MKF := makefile.dep
--include $(DEPENDENCY_MKF)
-
-##########################################################################
-# The level compiler
-#
-ifeq ($(DOYACC),y)
-
-# [ds] A plague on the broken copy command on Windoze.
-prebuildyacc: $(UTIL)levcomp.lex.cc $(UTIL)levcomp.tab.cc $(UTIL)levcomp.tab.h
- $(COPY) $^ prebuilt/
-
-$(UTIL)levcomp.tab.cc: $(UTIL)levcomp.ypp
- cd $(UTIL) && $(YACC) -d -b levcomp levcomp.ypp \
- && mv $(YTABC) levcomp.tab.cc || false
-
-$(UTIL)levcomp.lex.cc: $(UTIL)levcomp.lpp
- cd $(UTIL) && $(LEX) -olevcomp.lex.cc levcomp.lpp
-
-else
-
-$(UTIL)levcomp.tab.cc: prebuilt/levcomp.tab.cc
- $(COPY) prebuilt/*.h $(UTIL)
- $(COPY) $< $@
-
-$(UTIL)levcomp.lex.cc: prebuilt/levcomp.lex.cc
- $(COPY) $< $@
-
-endif
-
-##########################################################################
-
-install: $(APPNAME)
-ifneq ($(OPATH),$(INSTALLDIR))
- mkdir -p $(INSTALLDIR)
- $(COPY) $(APPNAME) ${INSTALLDIR}
-endif
- mkdir -p $(INSTALLDIR)/dat
- mkdir -p $(INSTALLDIR)/dat/clua
- mkdir -p $(INSTALLDIR)/dat/database
- mkdir -p $(INSTALLDIR)/dat/descript
- mkdir -p $(INSTALLDIR)/dat/lua
- mkdir -p $(INSTALLDIR)/docs
- mkdir -p $(INSTALLDIR)/settings
- $(COPY) dat/*.des $(INSTALLDIR)/dat/
- $(COPY) dat/clua/*.lua $(INSTALLDIR)/dat/clua/
- $(COPY) dat/database/*.txt $(INSTALLDIR)/dat/database/
- $(COPY) dat/descript/*.txt $(INSTALLDIR)/dat/descript/
- $(COPY) dat/lua/*.lua $(INSTALLDIR)/dat/lua/
- $(COPY) ../docs/*.txt $(INSTALLDIR)/docs/
- $(COPY) ../docs/changes.stone_soup $(INSTALLDIR)/docs/
- $(COPY) ../CREDITS.txt $(INSTALLDIR)/
- $(COPY) ../README.txt ../README.pdf $(INSTALLDIR)/
- $(COPY) ../licence.txt $(INSTALLDIR)/LICENCE.txt
- $(COPY) ../settings/* $(INSTALLDIR)/settings/
-
-clean:
- $(DELETE) $(OPATH)/*.o
- $(DELETE) $(UTIL)*.o
- $(DELETE) $(UTIL)*.exe
- $(DELETE) $(UTIL)*.lex.cc
- $(DELETE) $(UTIL)*.tab.cc
- $(DELETE) $(UTIL)*.tab.h
- $(DELETE) $(UTIL)*.tab.c
- $(DELETE) *.ixx
-
-clean-lua:
- cd $(LUASRC) && $(MAKE) clean_win
-
-clean-sql:
- cd $(SQLSRC) && $(MAKE) clean
-
-clean-pcre:
- cd $(PCRESRC) && $(MAKE) clean
-
-distclean: clean clean-lua clean-sql clean-pcre
- $(DELETE) $(OPATH)/*.o
- $(DELETE) *.o
- $(DELETE) bones.*
- $(DELETE) $(OPATH)/bones.*
- $(DELETE) morgue.txt
- $(DELETE) $(OPATH)/morgue.txt
- $(DELETE) scores
- $(DELETE) $(OPATH)/scores
- $(DELETE) crawl.exe
- $(DELETE) $(APPNAME)
- $(DELETE) *.sav
- $(DELETE) $(OPATH)/*.sav
- $(DELETE) core
- $(DELETE) $(OPATH)/core
- $(DELETE) *.0*
- $(DELETE) $(OPATH)/*.0*
- $(DELETE) *.lab
- $(DELETE) $(OPATH)/*.lab
-
-$(APPNAME): $(GAME_DEPENDS)
- ${CXX} ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
- i586-mingw32msvc-strip $(APPNAME)
-
-debug: $(GAME_DEPENDS)
- ${CXX} ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
-
-profile: $(GAME_DEPENDS)
- ${CXX} -g -p ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
-
-$(OPATH)/%.o: %.cc
- ${CXX} ${CFLAGS} -o $@ -c $<
-
-$(OPATH)/%.o: $(UTIL)%.cc
- $(CXX) $(YCFLAGS) -o $@ -c $<
-
-#############################################################################
-# Build Lua
-
-$(LUASRC)/$(LUALIBA):
- @echo Building Lua...
- @cd $(LUASRC) && $(MAKE) crawl_mingw
-
-#############################################################################
-# Build SQLite
-
-$(FSQLLIBA):
- @echo Building SQLite
- cd $(SQLSRC) && $(MAKE)
-
-#############################################################################
-# Build unrandart data
-art-data.h: art-data.txt util/art-data.pl art-func.h
- util/art-data.pl
-
-#############################################################################
-# Build PCRE
-
-$(PCRESRC)/$(PCRELIBA):
- @echo Building PCRE...
- @cd $(PCRESRC) && $(MAKE)
-
-##########################################################################
-# Resources
-#
-
-$(OPATH)/$(RESOURCEOBJ): $(RESOURCE)
- $(WINDRES) $< $@
-
diff --git a/crawl-ref/source/makefile.osx b/crawl-ref/source/makefile.osx
deleted file mode 100644
index f1ada8a14a..0000000000
--- a/crawl-ref/source/makefile.osx
+++ /dev/null
@@ -1,40 +0,0 @@
-# -*- Makefile -*- for Dungeon Crawl
-
-PROJECT = Crawl.xcodeproj
-GAME = Crawl
-
-all: $(GAME)
-
-# Xcode handles dependencies, so install does _not_ have to depend on building.
-install:
- xcodebuild -project $(PROJECT) -target $(GAME) -configuration Release install
-
-clean:
- xcodebuild -project $(PROJECT) -target $(GAME) -configuration Release clean
- xcodebuild -project $(PROJECT) -target $(GAME) -configuration Debug clean
- xcodebuild -project $(PROJECT) -target $(GAME) -configuration Wizard clean
-
-distclean: clean
- rm -f bones.*
- rm -f morgue.txt
- rm -f scores
- rm -f $(GAME)
- rm -f *.sav
- rm -f core
- rm -f *.0*
- rm -f *.lab
-
-$(GAME):
- xcodebuild -project $(PROJECT) -target $(GAME) -configuration Release build
-
-debug:
- xcodebuild -project $(PROJECT) -target $(GAME) -configuration Debug build
-
-wizard:
- xcodebuild -project $(PROJECT) -target $(GAME) -configuration Wizard build
-
-devel:
- xcodebuild -project $(PROJECT) -target $(GAME) -configuration Development build
-
-devclean:
- xcodebuild -project $(PROJECT) -target $(GAME) -configuration Development clean
diff --git a/crawl-ref/source/makefile.unix b/crawl-ref/source/makefile.unix
deleted file mode 100644
index 19b20ad7da..0000000000
--- a/crawl-ref/source/makefile.unix
+++ /dev/null
@@ -1,325 +0,0 @@
-# -*- Makefile -*- for Dungeon Crawl (unix)
-
-GAME = crawl
-
-# this file contains a list of the libraries.
-# it will make a variable called OBJECTS that contains all the libraries
-include makefile.obj
-
-OBJECTS += libunix.o crash-u.o
-
-CXX = g++
-DELETE = rm -f
-COPY = cp
-OS_TYPE = UNIX
-# To get stack trace symbols.
-LDFLAGS = -rdynamic
-
-# Change this to y (case-sensitive!) if you want to use Unicode glyphs
-# in the map, and you have libncursesw available.
-UNICODE_GLYPHS = n
-
-# If you're using UNICODE_GLYPHS=y, and have a preferred Unicode
-# (UTF-8) locale you want Crawl to use, you can set it here. The
-# default is en_US.UTF-8. If you'd prefer that Crawl use the locale
-# as set in your environment LC_* variables, use UNICODE_LOCALE = .
-UNICODE_LOCALE =
-
-# If you have lex and yacc, set DOYACC to y (lowercase y).
-DOYACC := y
-
-# Permissions to set on the game executable.
-MCHMOD := 2755
-
-# Permissions to set on the save directory.
-MCHMOD_SAVEDIR := 775
-
-# The user:group to install the game as.
-INSTALL_UGRP := games:games
-
-INSTALLDIR := /usr/games/crawl
-
-# If you're installing Crawl for multiple users, you *must* set this to a
-# valid path before building Crawl. This is not necessary if you are building
-# Crawl for a single user.
-
-# SAVEDIR := /usr/games/crawl/saves/
-# DATADIR := /usr/games/crawl/data/
-
-LEX := flex
-YACC := bison -y
-
-LUASRC := util/lua/src
-LUALIB = lua
-LUALIBA = l$(LUALIB).a
-
-SQLSRC := util/sqlite
-SQLLIB := sqlite3
-SQLLIBA := lib$(SQLLIB).a
-FSQLLIBA := $(SQLSRC)/$(SQLLIBA)
-
-LIBDBM := $(FSQLLIBA)
-EXTRA_INCLUDES += -I$(SQLSRC)
-EXTRA_DEPENDS += $(FSQLLIBA)
-
-LIB = -l$(LIBCURS) -L$(LUASRC) -l$(LUALIB) $(LIBDBM)
-
-INCLUDES := $(INCLUDES) -Iutil -I. -I$(LUASRC) $(EXTRA_INCLUDES)
-
-CFWARN := -Wall -Wno-parentheses -Wwrite-strings -Wshadow -pedantic
-
-CFOTHERS := -fsigned-char -D$(OS_TYPE) $(EXTRA_FLAGS) -DCLUA_BINDINGS
-
-ifneq ($(HURRY),y)
-ifneq ($(DEBUG_CRAWL),y)
-CFWARN += -Wuninitialized
-CFOTHERS += -O2
-endif
-endif
-
-ifneq ($(strip $(SAVEDIR)),)
-CFOTHERS += '-DSAVE_DIR_PATH="$(strip $(SAVEDIR))"'
-endif
-
-ifneq ($(strip $(DATADIR)),)
-CFOTHERS += '-DDATA_DIR_PATH="$(strip $(DATADIR))"'
-endif
-
-ifeq ($(strip $(UNICODE_GLYPHS)),y)
-# Include path for (n)curses with Unicode support.
-INCLUDES += -I/usr/include/ncursesw
-
-# Your ncurses library may include Unicode support, and you may not have a
-# separate libncursesw; in that case, change this line accordingly.
-LIBCURS = ncursesw
-CFOTHERS += -DUNICODE_GLYPHS
-
-ifneq ($(strip $(UNICODE_LOCALE)),)
-ifneq ($(strip $(UNICODE_LOCALE)),.)
-CFOTHERS += -DUNICODE_LOCALE=\"$(strip $(UNICODE_LOCALE))\"
-else
-CFOTHERS += -DUNICODE_LOCALE=\"\"
-endif
-endif
-
-# The standard ncurses library also supports Unicode on Mac OS/Darwin.
-ifeq ($(shell uname),Darwin)
-LIBCURS = ncurses
-endif
-
-else
-# Include path for curses or ncurses (non-Unicode).
-INCLUDES += -I/usr/include/ncurses
-LIBCURS = ncurses
-endif
-
-CFLAGS := $(INCLUDES) $(CFWARN) $(CFOTHERS)
-YCFLAGS := $(INCLUDES) $(CFOTHERS)
-
-UTIL = util/
-
-YTABC := levcomp.tab.c
-YTABH := levcomp.tab.h
-
-OBJECTS := $(UTIL)levcomp.tab.o $(UTIL)levcomp.lex.o $(OBJECTS)
-
-ifeq ($(strip $(LEX)),)
-DOYACC :=
-endif
-
-ifeq ($(strip $(YACC)),)
-DOYACC :=
-endif
-
-GAME_DEPENDS := $(LUASRC)$(LUALIBA) $(EXTRA_DEPENDS) $(OBJECTS)
-SRC_PKG_BASE := stone_soup
-SRC_VERSION := $(shell egrep 'VER_NUM *".*"' version.h | \
- egrep -o '[0-9]\.[0-9](\.[0-9])?')
-PKG_SRC_DIR := $(SRC_PKG_BASE)-$(SRC_VERSION)-src
-SRC_PKG_TAR := $(PKG_SRC_DIR).tbz2
-SRC_PKG_ZIP := $(PKG_SRC_DIR).zip
-
-PKG_TIDY_LIST := $(UTIL)*.o $(LEVCOMP) *.o \
- $(UTIL)*.tab.cc $(UTIL)*.tab.h $(UTIL)*.lex.cc *.ixx
-PKG_EXCLUDES := $(PWD)/misc/src-pkg-excludes.lst
-
-##########################################################################
-
-all: $(GAME)
-
-test: $(GAME)
- $(PWD)/$(GAME) -test
-
-##########################################################################
-# Dependencies
-
-DEPENDENCY_MKF := makefile.dep
-
-depend: $(OBJECTS:.o=.cc)
- rm -f $(DEPENDENCY_MKF).tmp
- @for i in $^; do \
- echo "Updating dependencies for $$i"; \
- $(CXX) -MM $(CFLAGS) $$i >>$(DEPENDENCY_MKF).tmp 2>/dev/null; \
- done
- mv -f $(DEPENDENCY_MKF).tmp $(DEPENDENCY_MKF)
-
--include $(DEPENDENCY_MKF)
-
-##########################################################################
-# The level compiler
-#
-
-ifeq ($(DOYACC),y)
-
-prebuildyacc: $(UTIL)levcomp.tab.cc $(UTIL)levcomp.tab.h $(UTIL)levcomp.lex.cc
- $(COPY) $^ prebuilt/
-
-$(UTIL)levcomp.tab.cc: $(UTIL)levcomp.ypp
- cd $(UTIL) && $(YACC) -d -b levcomp levcomp.ypp \
- && mv $(YTABC) levcomp.tab.cc || false
-
-$(UTIL)levcomp.lex.cc: $(UTIL)levcomp.lpp
- cd $(UTIL) && $(LEX) -olevcomp.lex.cc levcomp.lpp
-
-else
-
-# Pull the level-compiler stuff up from prebuilt/
-
-$(UTIL)levcomp.tab.cc: prebuilt/levcomp.tab.cc
- $(COPY) prebuilt/*.h $(UTIL)
- $(COPY) $< $@
-
-
-$(UTIL)levcomp.lex.cc: prebuilt/levcomp.lex.cc
- $(COPY) $< $@
-
-endif
-
-##########################################################################
-
-
-##########################################################################
-# The actual build targets
-#
-
-install: $(GAME)
-ifeq ($(DATADIR),)
- $(error DATADIR not set! Set DATADIR and run make clean install again)
-endif
- [ -d $(INSTALLDIR) ] || mkdir -p $(INSTALLDIR)
- $(COPY) $(GAME) $(INSTALLDIR)
- chown $(INSTALL_UGRP) $(INSTALLDIR)/$(GAME)
- chmod ${MCHMOD} ${INSTALLDIR}/$(GAME)
- mkdir -p $(DATADIR)/dat
- mkdir -p $(DATADIR)/dat/lua
- mkdir -p $(DATADIR)/dat/clua
- mkdir -p $(DATADIR)/dat/descript
- mkdir -p $(DATADIR)/dat/database
- $(COPY) dat/*.des $(DATADIR)/dat
- $(COPY) dat/lua/*.lua $(DATADIR)/dat/lua
- $(COPY) dat/clua/*.lua $(DATADIR)/dat/clua
- $(COPY) dat/descript/*.txt $(DATADIR)/dat/descript
- $(COPY) dat/database/*.txt $(DATADIR)/dat/database
- mkdir -p $(DATADIR)/settings
- $(COPY) ../settings/* $(DATADIR)/settings/
- mkdir -p $(DATADIR)/docs
- $(COPY) ../docs/*.txt $(DATADIR)/docs
- chown -R $(INSTALL_UGRP) $(DATADIR)
-ifneq ($(SAVEDIR),)
- mkdir -p $(SAVEDIR)
- chown $(INSTALL_UGRP) $(SAVEDIR)
- chmod $(MCHMOD_SAVEDIR) $(SAVEDIR)
-endif
-
-clean:
- $(DELETE) *.o
- $(DELETE) $(UTIL)*.o
- $(DELETE) $(LEVCOMP)
- $(DELETE) $(UTIL)*.tab.cc $(UTIL)*.tab.c $(UTIL)*.tab.h $(UTIL)*.lex.cc
- $(DELETE) *.ixx
-
-clean-lua:
- +$(MAKE) -C $(LUASRC) clean
-
-clean-sql:
- +$(MAKE) -C $(SQLSRC) clean
-
-distclean: clean clean-lua clean-sql
- $(DELETE) bones.*
- $(DELETE) morgue.txt
- $(DELETE) scores
- $(DELETE) $(GAME)
- $(DELETE) *.sav
- $(DELETE) core
- $(DELETE) *.0*
- $(DELETE) *.lab
- $(DELETE) $(DEPENDENCY_MKF)
-
-$(GAME): $(GAME_DEPENDS)
- ${CXX} ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(GAME) $(LIB)
-
-.PHONY : debug
-
-debug: $(GAME)
-
-profile: $(GAME_DEPENDS)
- ${CXX} -g -p ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(GAME) $(LIB)
-
-.cc.o:
- ${CXX} ${CFLAGS} -c $<
-
-# [ds] Note we don't use the standard CFLAGS here; that's intentional, most
-# flex/bison combos I've tried don't produce code that passes the warnings
-# test.
-$(UTIL)%.o: $(UTIL)%.cc
- $(CXX) $(YCFLAGS) -o $@ -c $<
-
-#############################################################################
-# Build Lua
-
-$(LUASRC)$(LUALIBA):
- echo Building Lua...
- +$(MAKE) -C $(LUASRC) crawl_unix
-
-#############################################################################
-# Build SQLite
-
-$(FSQLLIBA):
- echo Building SQLite
- +$(MAKE) -C $(SQLSRC)
-
-#############################################################################
-# Build unrandart data
-art-data.h: art-data.txt util/art-data.pl art-func.h
- util/art-data.pl
-
-#############################################################################
-# Packaging a source tarball for release
-#
-
-# To package, you *must* have lex and yacc to generate the intermediates.
-ifeq ($(DOYACC),y)
-package-source: distclean prebuildyacc pkgtidy depend removeold vlink \
- pkgtarbz2 pkgzip
-
-pkgtidy:
- $(DELETE) $(PKG_TIDY_LIST)
-
-removeold:
- if [ -f ../../$(SRC_PKG_TAR) ]; then $(DELETE) ../../$(SRC_PKG_TAR); fi
- if [ -f ../../$(SRC_PKG_ZIP) ]; then $(DELETE) ../../$(SRC_PKG_ZIP); fi
-
-# [ds] Existing directory names could produce a bad package!
-vlink:
- cd .. && WHERE=$$PWD && cd .. && \
- ( [ -e $(PKG_SRC_DIR) ] || ln -sf $$WHERE $(PKG_SRC_DIR) )
-
-pkgtarbz2:
- cd ../.. && tar -ch --bzip2 -f $(SRC_PKG_TAR) \
- -X $(PKG_EXCLUDES) $(PKG_SRC_DIR)
-
-pkgzip:
- cd ../.. && zip -rq $(SRC_PKG_ZIP) $(PKG_SRC_DIR) \
- -x@$(PKG_EXCLUDES)
-
-endif
diff --git a/crawl-ref/source/makefile_tiles.mgw b/crawl-ref/source/makefile_tiles.mgw
deleted file mode 100644
index 93fe6eaeb0..0000000000
--- a/crawl-ref/source/makefile_tiles.mgw
+++ /dev/null
@@ -1,292 +0,0 @@
-# -*- Makefile -*- for Dungeon Crawl (Win32, MinGW)
-
-# makefile.obj includes a list of object files needed to build Crawl.
-include makefile.obj
-
-ifeq ($(DEBUG_CRAWL),)
-OPATH := rel
-else
-OPATH := dbg
-endif
-
-# need .exe so make will find the right file
-APPNAME = $(OPATH)\crawl.exe
-CXX = g++
-DELETE = del
-COPY = copy
-OS_TYPE = WIN32TILES
-EXTRA_DEFINES = -DUSE_TILE -DCLUA_BINDINGS
-
-SDL_PREFIX ?= C:/mingw
-SDL_CFLAGS := -D_GNU_SOURCE=1 -Dmain=SDL_main -I$(SDL_PREFIX)/include/SDL
-SDL_LDFLAGS := -lmingw32 -lSDLmain -lSDL -mwindows
-
-INSTALLDIR := $(OPATH)
-
-# If you don't have flex or bison, set DOYACC to N or empty.
-DOYACC := n
-
-LEX := flex
-YACC := bison -y
-
-ifeq ($(LUASRC),)
-LUASRC := util\lua\src
-endif
-
-LUALIB = lua
-LUALIBA = lib$(LUALIB).a
-
-SQLSRC := util\sqlite
-SQLLIB := sqlite3
-SQLIBA := lib$(SQLLIB).a
-FSQLLIBA := $(SQLLIB)\$(SQLIBA)
-
-PCRESRC := util\pcre
-PCRELIB := pcre
-PCRELIBA := lib$(PCRELIB).a
-
-RLTILES = rltiles
-EXTRA_INCLUDES += -I$(RLTILES)
-
-TILEDEFS = dngn main player gui unrand
-TILEDEFPRES = $(TILEDEFS:%=$(RLTILES)/tiledef-%)
-TILEDEFOBJS = $(TILEDEFPRES:%=%.o)
-TILEDEFSRCS = $(TILEDEFPRES:%=%.cc)
-TILEDEFHDRS = $(TILEDEFPRES:%=%.h)
-
-OBJECTS += $(TILEDEFOBJS)
-
-TILEFILES = \
- main.png \
- player.png \
- dngn.png \
- gui.png
-
-DESTTILEFILES = $(TILEFILES:%=dat/tiles/%)
-
-LIB = -lwinmm -mwindows -lcomctl32 -L$(LUASRC) -l$(LUALIB) -L$(SQLSRC) -l$(SQLLIB) -L$(PCRESRC) -l$(PCRELIB) -lpng $(SDL_LDFLAGS) -lopengl32 -lglu32 -lSDL_image -lfreetype
-INCLUDES := -Iutil -I. -I$(LUASRC) -I$(SQLSRC) -I$(PCRESRC) $(EXTRA_INCLUDES)
-
-CFWARN := -Wall -Wwrite-strings -pedantic
-
-CFOTHERS := -fsigned-char \
- -fstrict-aliasing \
- -pedantic \
- -O2 \
- -D$(OS_TYPE) $(EXTRA_FLAGS) \
- -DWINMM_PLAY_SOUNDS -DCLUA_BINDINGS \
- -DWINVER=0x0400 -D_WIN32_IE=0x0400 \
- $(EXTRA_DEFINES) \
-
-CFLAGS := $(INCLUDES) $(CFWARN) $(CFOTHERS) $(SDL_CFLAGS)
-YCFLAGS := $(INCLUDES) $(CFOTHERS)
-
-OBJECTS := $(OBJECTS) libgui.o tilepick.o tile2.o tilereg.o tilesdl.o tilefont.o tiletex.o tilemcache.o tilebuf.o crash-w.o
-
-LDFLAGS =
-
-UTIL = util/
-
-YTABC := levcomp.tab.c
-YTABH := levcomp.tab.h
-
-ifeq ($(LEX),)
-DOYACC :=
-endif
-
-ifeq ($(YACC),)
-DOYACC :=
-endif
-
-RESOURCE := $(UTIL)crawl.rc
-RESOURCEOBJ := crawlres.o
-WINDRES := windres.exe
-
-# Do the levcomp stuff first because that's the most likely to fail.
-OBJECTS := levcomp.tab.o levcomp.lex.o \
- $(OBJECTS) $(RESOURCEOBJ)
-
-OBJECTS := $(foreach file,$(OBJECTS),$(OPATH)/$(file))
-
-GAME_DEPENDS := prepare $(LUASRC)\$(LUALIBA) $(FSQLLIBA) $(PCRESRC)\$(PCRELIBA) $(TILEHEADERS) $(DESTTILEFILES) $(OBJECTS)
-
-##########################################################################
-
-all: $(APPNAME)
-
-prepare:
- if not exist $(OPATH) mkdir $(OPATH)
-
-DEPENDENCY_MKF := makefile.dep
--include $(DEPENDENCY_MKF)
-
-##########################################################################
-# The level compiler
-#
-ifeq ($(DOYACC),y)
-
-# [ds] A plague on the broken copy command on Windoze.
-prebuildyacc: $(UTIL)levcomp.lex.cc $(UTIL)levcomp.tab.cc $(UTIL)levcomp.tab.h
- $(subst /,\,for %%f in ($^) do $(COPY) %%f prebuilt)
-
-$(UTIL)levcomp.tab.cc: $(UTIL)levcomp.ypp
- $(subst /,\, cd $(UTIL)) && $(YACC) -d -b levcomp levcomp.ypp
- $(subst /,\, cd $(UTIL)) && move $(YTABC) levcomp.tab.cc
-
-$(UTIL)levcomp.lex.cc: $(UTIL)levcomp.lpp
- $(subst /,\, cd $(UTIL) && $(LEX) -olevcomp.lex.cc levcomp.lpp)
-
-else
-
-$(UTIL)levcomp.tab.cc: prebuilt/levcomp.tab.cc
- $(subst /,\,$(COPY) prebuilt/*.h $(UTIL))
- $(subst /,\,$(COPY) $< $@)
-
-$(UTIL)levcomp.lex.cc: prebuilt/levcomp.lex.cc
- $(subst /,\,$(COPY) $< $@)
-
-endif
-
-##########################################################################
-# RLTiles
-#
-
-ORIGTILEFILES = $(TILEFILES:%=$(RLTILES)/%)
-
-makerltiles:
- pushd $(RLTILES) && $(MAKE) -f makefile.mgw all
- mkdir $(OPATH)\rltiles 2>nul || echo.>nul
-
-$(TILEDEFSRCS): makerltiles
-
-$(TILEDEFHDRS): makerltiles
-
-$(ORIGTILEFILES): makerltiles
-
-dat/tiles/%.png: rltiles/%.png
- $(subst /,\,$(COPY) $< $@)
-
-clean-rltiles:
- pushd $(RLTILES) && $(MAKE) -f makefile.mgw distclean
-
-##########################################################################
-
-
-##########################################################################
-
-install: $(APPNAME)
-ifneq ($(OPATH),$(INSTALLDIR))
- $(COPY) $(APPNAME) ${INSTALLDIR}
-endif
- mkdir $(INSTALLDIR)\dat 2>nul || echo "" >nul
- mkdir $(INSTALLDIR)\dat\lua 2>null || echo "">nul
- mkdir $(INSTALLDIR)\dat\clua 2>null || echo "">nul
- mkdir $(INSTALLDIR)\dat\descript 2>null || echo "">nul
- mkdir $(INSTALLDIR)\dat\database 2>null || echo "">nul
- mkdir $(INSTALLDIR)\settings 2>null || echo "">nul
- mkdir $(INSTALLDIR)\docs 2>null || echo "">nul
- copy /y dat\*.des $(INSTALLDIR)\dat
- copy /y dat\lua\*.lua $(INSTALLDIR)\dat\lua
- copy /y dat\clua\*.lua $(INSTALLDIR)\dat\clua
- copy /y dat\descript\*.txt $(INSTALLDIR)\dat\descript
- copy /y dat\database\*.txt $(INSTALLDIR)\dat\database
- copy /y ..\settings\* $(INSTALLDIR)\settings
- copy /y ..\docs\* $(INSTALLDIR)\docs
- mkdir $(INSTALLDIR)\dat\tiles 2>nul || echo "" > nul
- copy /y dat\tiles\*.* $(INSTALLDIR)\dat\tiles
- copy /y ..\* $(INSTALLDIR)
- $(DELETE) $(INSTALLDIR)\*.sh
-
-clean:
- $(DELETE) $(OPATH)\*.o
- $(subst /,\,$(DELETE) $(UTIL)*.o)
- $(subst /,\,$(DELETE) $(UTIL)*.exe)
- $(subst /,\,$(DELETE) $(UTIL)*.lex.cc)
- $(subst /,\,$(DELETE) $(UTIL)*.tab.cc)
- $(subst /,\,$(DELETE) $(UTIL)*.tab.h)
- $(subst /,\,$(DELETE) $(UTIL)*.tab.c)
- $(subst /,\,$(DELETE) *.ixx)
-
-clean-lua:
- cd $(LUASRC) && $(MAKE) clean_win
-
-clean-sql:
- cd $(SQLSRC) && $(MAKE) "RM_F=del /f" clean
-
-clean-pcre:
- cd $(PCRESRC) && $(MAKE)
-
-distclean: clean clean-lua clean-sql clean-pcre clean-rltiles
- $(DELETE) dbg\*.o
- $(DELETE) rel\*.o
- $(DELETE) *.o
- $(DELETE) bones.*
- $(DELETE) $(OPATH)\bones.*
- $(DELETE) morgue.txt
- $(DELETE) $(OPATH)\morgue.txt
- $(DELETE) scores
- $(DELETE) $(OPATH)\scores
- $(DELETE) crawl.exe
- $(DELETE) $(subst /,\,$(APPNAME))
- $(DELETE) *.sav
- $(DELETE) $(OPATH)\*.sav
- $(DELETE) core
- $(DELETE) $(OPATH)\core
- $(DELETE) *.0*
- $(DELETE) $(OPATH)\*.0*
- $(DELETE) *.lab
- $(DELETE) $(OPATH)\*.lab
-
-$(APPNAME): $(GAME_DEPENDS)
- ${CXX} ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
- strip $(APPNAME)
-
-debug: $(GAME_DEPENDS)
- ${CXX} ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
-
-profile: $(GAME_DEPENDS)
- ${CXX} -g -p ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
-
-$(OPATH)/%.o: %.cc $(TILEDEFHDRS)
- ${CXX} ${CFLAGS} -o $@ -c $<
-
-# STL is bad in debug. Always compile this file with optimizations.
-$(OPATH)/tilebuf.o: tilebuf.cc $(TILEDEFHDRS)
- ${CXX} ${CFLAGS} -O2 -o $@ -c $<
-
-
-$(OPATH)/%.o: $(UTIL)%.cc $(TILEDEFHDRS)
- $(CXX) $(YCFLAGS) -o $@ -c $<
-
-#############################################################################
-# Build Lua
-
-$(LUASRC)\$(LUALIBA):
- @echo Building Lua...
- @cd $(LUASRC) && $(MAKE) crawl_mingw
-
-#############################################################################
-# Build SQLite
-
-$(FSQLLIBA):
- @echo Building SQLite
- cd $(SQLSRC) && $(MAKE)
-
-#############################################################################
-# Build unrandart data
-art-data.h: art-data.txt util/art-data.pl art-func.h
- util/art-data.pl
-
-#############################################################################
-# Build PCRE
-
-$(PCRESRC)\$(PCRELIBA):
- @echo Building PCRE...
- @cd $(PCRESRC) && $(MAKE)
-
-##########################################################################
-# Resources
-#
-
-$(OPATH)/$(RESOURCEOBJ): $(RESOURCE)
- $(WINDRES) $< $@
diff --git a/crawl-ref/source/makefile_tiles.mgw_unix b/crawl-ref/source/makefile_tiles.mgw_unix
deleted file mode 100644
index e1c5996b95..0000000000
--- a/crawl-ref/source/makefile_tiles.mgw_unix
+++ /dev/null
@@ -1,274 +0,0 @@
-# -*- Makefile -*- for Dungeon Crawl (Cross-compiling MinGW for crawl.develz.org)
-
-# makefile.obj includes a list of object files needed to build Crawl.
-include makefile.obj
-
-OPATH := build
-
-# need .exe so make will find the right file
-APPNAME = $(OPATH)/crawl.exe
-CXX = i586-mingw32msvc-g++
-DELETE = rm -f
-COPY = cp
-OS_TYPE = WIN32TILES
-EXTRA_DEFINES = -DUSE_TILE -DCLUA_BINDINGS -DWIZARD
-
-SDL_PREFIX ?= $(HOME)/source/mingw32
-SDL_CFLAGS := -D_GNU_SOURCE=1 -Dmain=SDL_main -I$(SDL_PREFIX)/include/SDL
-SDL_LDFLAGS := -lmingw32 -lSDLmain -lSDL.dll -lSDL_image -lopengl32 -lglu32
-
-ifeq ($(INSTALLDIR),)
-INSTALLDIR := crawl-mingw32
-endif
-
-# If you don't have flex or bison, set DOYACC to N or empty.
-DOYACC := n
-
-LEX := flex
-YACC := bison -y
-
-ifeq ($(LUASRC),)
-LUASRC := util/lua/src
-endif
-
-LUALIB = lua
-LUALIBA = lib$(LUALIB).a
-
-SQLSRC := util/sqlite
-SQLLIB := sqlite3
-SQLIBA := lib$(SQLLIB).a
-FSQLLIBA := $(SQLLIB)/$(SQLIBA)
-
-PCRESRC := util/pcre
-PCRELIB := pcre
-PCRELIBA := lib$(PCRELIB).a
-
-RLTILES = rltiles
-EXTRA_INCLUDES += -I$(RLTILES)
-
-TILEDEFS = dngn main player unrand
-TILEDEFPRES = $(TILEDEFS:%=$(RLTILES)/tiledef-%)
-TILEDEFOBJS = $(TILEDEFPRES:%=%.o)
-TILEDEFSRCS = $(TILEDEFPRES:%=%.cc)
-TILEDEFHDRS = $(TILEDEFPRES:%=%.h)
-
-OBJECTS += $(TILEDEFOBJS)
-
-TILEFILES = \
- main.png \
- player.png \
- dngn.png
-
-DESTTILEFILES = $(TILEFILES:%=dat/tiles/%)
-
-LIB = -static -L$(HOME)/source/mingw32/lib -lwinmm -mwindows -lcomctl32 -L$(LUASRC) -l$(LUALIB) -L$(SQLSRC) -l$(SQLLIB) -L$(PCRESRC) -l$(PCRELIB) $(SDL_LDFLAGS) -lfreetype
-INCLUDES := -Iutil -I. -I$(HOME)/source/mingw32/include -I$(LUASRC) -I$(SQLSRC) -I$(PCRESRC) $(EXTRA_INCLUDES)
-
-CFWARN := -Wwrite-strings
-
-CFOTHERS := -fsigned-char \
- -fstrict-aliasing \
- -pedantic \
- -O2 \
- -D$(OS_TYPE) $(EXTRA_FLAGS) \
- -DWINMM_PLAY_SOUNDS -DCLUA_BINDINGS \
- -DWINVER=0x0400 -D_WIN32_IE=0x0400 \
- $(EXTRA_DEFINES)
-
-CFLAGS := $(INCLUDES) $(CFWARN) $(CFOTHERS) $(SDL_CFLAGS)
-YCFLAGS := $(INCLUDES) $(CFOTHERS)
-
-OBJECTS := $(OBJECTS) libgui.o tilepick.o tile2.o tilereg.o tilesdl.o tilefont.o tiletex.o tilemcache.o tilebuf.o crash-w.o
-
-LDFLAGS =
-
-UTIL = util/
-
-YTABC := levcomp.tab.c
-YTABH := levcomp.tab.h
-
-ifeq ($(LEX),)
-DOYACC :=
-endif
-
-ifeq ($(YACC),)
-DOYACC :=
-endif
-
-RESOURCE := $(UTIL)crawl.rc
-RESOURCEOBJ := crawlres.o
-WINDRES := i586-mingw32msvc-windres
-
-# Do the levcomp stuff first because that's the most likely to fail.
-OBJECTS := levcomp.tab.o levcomp.lex.o \
- $(OBJECTS) $(RESOURCEOBJ)
-
-OBJECTS := $(foreach file,$(OBJECTS),$(OPATH)/$(file))
-
-GAME_DEPENDS := prepare $(LUASRC)/$(LUALIBA) $(FSQLLIBA) $(PCRESRC)/$(PCRELIBA) $(TILEHEADERS) $(DESTTILEFILES) $(OBJECTS)
-
-##########################################################################
-
-all: $(APPNAME)
-
-prepare:
- mkdir -p $(OPATH)
-
-DEPENDENCY_MKF := makefile.dep
--include $(DEPENDENCY_MKF)
-
-##########################################################################
-# The level compiler
-#
-ifeq ($(DOYACC),y)
-
-# [ds] A plague on the broken copy command on Windoze.
-prebuildyacc: $(UTIL)levcomp.lex.cc $(UTIL)levcomp.tab.cc $(UTIL)levcomp.tab.h
- $(COPY) $^ prebuilt/
-
-$(UTIL)levcomp.tab.cc: $(UTIL)levcomp.ypp
- cd $(UTIL) && $(YACC) -d -b levcomp levcomp.ypp \
- && mv $(YTABC) levcomp.tab.cc || false
-
-$(UTIL)levcomp.lex.cc: $(UTIL)levcomp.lpp
- cd $(UTIL) && $(LEX) -olevcomp.lex.cc levcomp.lpp
-
-else
-
-$(UTIL)levcomp.tab.cc: prebuilt/levcomp.tab.cc
- $(COPY) prebuilt/*.h $(UTIL)
- $(COPY) $< $@
-
-$(UTIL)levcomp.lex.cc: prebuilt/levcomp.lex.cc
- $(COPY) $< $@
-endif
-
-##########################################################################
-# RLTiles
-#
-
-ORIGTILEFILES = $(TILEFILES:%=$(RLTILES)/%)
-
-makerltiles:
- pushd $(RLTILES) && $(MAKE) -f makefile.unix all
- mkdir -p $(OPATH)/rltiles
-
-$(TILEDEFSRCS): makerltiles
-
-$(TILEDEFHDRS): makerltiles
-
-$(ORIGTILEFILES): makerltiles
-
-dat/tiles/%.png: rltiles/%.png
- mkdir -p dat/tiles
- $(COPY) $< $@
-
-clean-rltiles:
- pushd $(RLTILES) && $(MAKE) -f makefile.unix distclean
-
-##########################################################################
-
-
-##########################################################################
-
-install: $(APPNAME)
-ifneq ($(OPATH),$(INSTALLDIR))
- mkdir -p $(INSTALLDIR)
- $(COPY) $(APPNAME) ${INSTALLDIR}
-endif
- mkdir -p $(INSTALLDIR)/dat
- mkdir -p $(INSTALLDIR)/dat/clua
- mkdir -p $(INSTALLDIR)/dat/database
- mkdir -p $(INSTALLDIR)/dat/descript
- mkdir -p $(INSTALLDIR)/dat/lua
- mkdir -p $(INSTALLDIR)/dat/tiles
- mkdir -p $(INSTALLDIR)/docs
- mkdir -p $(INSTALLDIR)/settings
- $(COPY) dat/*.des $(INSTALLDIR)/dat/
- $(COPY) dat/clua/*.lua $(INSTALLDIR)/dat/clua/
- $(COPY) dat/database/*.txt $(INSTALLDIR)/dat/database/
- $(COPY) dat/descript/*.txt $(INSTALLDIR)/dat/descript/
- $(COPY) dat/lua/*.lua $(INSTALLDIR)/dat/lua/
- $(COPY) dat/tiles/*.png dat/tiles/*.ttf $(INSTALLDIR)/dat/tiles/
- $(COPY) ../docs/*.txt $(INSTALLDIR)/docs/
- $(COPY) ../docs/changes.stone_soup $(INSTALLDIR)/docs/
- $(COPY) ../CREDITS.txt $(INSTALLDIR)/
- $(COPY) ../README.txt ../README.pdf $(INSTALLDIR)/
- $(COPY) ../licence.txt $(INSTALLDIR)/LICENCE.txt
- $(COPY) ../settings/* $(INSTALLDIR)/settings/
-
-clean:
- $(DELETE) $(OPATH)/*.o
- $(DELETE) $(UTIL)*.o
- $(DELETE) $(UTIL)*.exe
- $(DELETE) $(UTIL)*.lex.cc
- $(DELETE) $(UTIL)*.tab.cc
- $(DELETE) $(UTIL)*.tab.h
- $(DELETE) $(UTIL)*.tab.c
- $(DELETE) *.ixx
-
-clean-lua:
- cd $(LUASRC) && $(MAKE) clean_win
-
-clean-sql:
- cd $(SQLSRC) && $(MAKE) clean
-
-clean-pcre:
- cd $(PCRESRC) && $(MAKE) clean
-
-distclean: clean clean-lua clean-sql clean-pcre clean-rltiles
-
-$(APPNAME): $(GAME_DEPENDS)
- ${CXX} ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
- i586-mingw32msvc-strip $(APPNAME)
-
-debug: $(GAME_DEPENDS)
- ${CXX} ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
-
-profile: $(GAME_DEPENDS)
- ${CXX} -g -p ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
-
-$(OPATH)/%.o: %.cc $(TILEDEFHDRS)
- ${CXX} ${CFLAGS} -o $@ -c $<
-
-# STL is bad in debug. Always compile this file with optimizations.
-$(OPATH)/tilebuf.o: tilebuf.cc $(TILEDEFHDRS)
- ${CXX} ${CFLAGS} -O2 -o $@ -c $<
-
-
-$(OPATH)/%.o: $(UTIL)%.cc $(TILEDEFHDRS)
- $(CXX) $(YCFLAGS) -o $@ -c $<
-
-#############################################################################
-# Build Lua
-
-$(LUASRC)/$(LUALIBA):
- @echo Building Lua...
- @cd $(LUASRC) && $(MAKE) crawl_mingw
-
-#############################################################################
-# Build SQLite
-
-$(FSQLLIBA):
- @echo Building SQLite
- cd $(SQLSRC) && $(MAKE)
-
-#############################################################################
-# Build unrandart data
-art-data.h: art-data.txt util/art-data.pl art-func.h
- util/art-data.pl
-
-#############################################################################
-# Build PCRE
-
-$(PCRESRC)/$(PCRELIBA):
- @echo Building PCRE...
- @cd $(PCRESRC) && $(MAKE)
-
-##########################################################################
-# Resources
-#
-
-$(OPATH)/$(RESOURCEOBJ): $(RESOURCE)
- $(WINDRES) $< $@
-
diff --git a/crawl-ref/source/makefile_tiles.unix b/crawl-ref/source/makefile_tiles.unix
deleted file mode 100644
index 9d39f5442c..0000000000
--- a/crawl-ref/source/makefile_tiles.unix
+++ /dev/null
@@ -1,371 +0,0 @@
-# -*- Makefile -*- for Dungeon Crawl (unix)
-
-GAME = crawl
-
-# this file contains a list of the libraries.
-# it will make a variable called OBJECTS that contains all the libraries
-include makefile.obj
-
-OBJECTS += libgui.o tilepick.o tile2.o tilereg.o tilesdl.o tilefont.o tiletex.o tilemcache.o tilebuf.o crash-u.o
-
-SDL_CFLAGS := $(shell sdl-config --cflags)
-
-CXX = g++
-DELETE = rm -f
-COPY = cp
-OS_TYPE = UNIX
-EXTRA_INCLUDES := -DUSE_TILE -DCLUA_BINDINGS
-# To get stack trace symbols.
-LDFLAGS = -rdynamic
-
-# Change this to y if you want to use Unicode glyphs in the map, and you have
-# libncursesw available.
-UNICODE_GLYPHS = n
-
-# OSX vs. Linux differences:
-ifeq ($(strip $(OSX)),y)
-PNG_INCLUDE := -I/sw/include
-FREETYPE_INCLUDE := -I/sw/include/freetype2
-
-# Note: gcc on OS X will *always* include the dynamic library
-# version of any lib if it exists in the path. Therefore, all non-standard
-# libraries have to be linked explicitly by full path rather than searched
-# for.
-LIB_BASE := /sw/lib
-FREETYPE_LIB := $(LIB_BASE)/freetype2/lib/libfreetype.a
-
-SW_LIB_LIST := SDL SDL_image SDLmain png tiff jpeg
-LIB_LIST := $(SW_LIB_LIST:%=$(LIB_BASE)/lib%.a) $(FREETYPE_LIB)
-
-# The list of frameworks that SDL would normally dynamically load and need to
-# be included explicitly if SDL is linked statically.
-FRAMEWORK_LIST := Cocoa Carbon AudioUnit IOKit OpenGL QuickTime
-
-EXTRA_LIBS := $(FRAMEWORK_LIST:%=-Wl,-framework,%) $(LIB_LIST) -lz
-
-EXTRA_INCLUDES += -I/sw/include
-else
-PNG_INCLUDE := $(shell pkg-config libpng --cflags)
-PNG_LDFLAGS := $(shell pkg-config libpng --libs)
-FREETYPE_INCLUDE := $(shell pkg-config freetype2 --cflags)
-FREETYPE_LDFLAGS := $(shell pkg-config freetype2 --libs)
-SDL_LDFLAGS := $(shell sdl-config --libs) -lSDLmain
-EXTRA_LIBS := $(PNG_LDFLAGS) $(SDL_LDFLAGS) $(FREETYPE_LDFLAGS) -lGL -lGLU -lSDL_image
-endif
-
-# If you have lex and yacc, set DOYACC to y (lowercase y).
-DOYACC := y
-
-# Permissions to set on the game executable.
-MCHMOD := 2755
-
-# Permissions to set on the save directory.
-MCHMOD_SAVEDIR := 775
-
-# The user:group to install the game as.
-INSTALL_UGRP := games:games
-
-INSTALLDIR := /usr/games/crawl
-
-# If you're installing Crawl for multiple users, you *must* set this to a
-# valid path before building Crawl. This is not necessary if you are building
-# Crawl for a single user.
-
-# SAVEDIR := /usr/games/crawl/saves/
-# DATADIR := /usr/games/crawl/data/
-
-LEX := flex
-YACC := bison -y
-
-LUASRC := util/lua/src
-LUALIB = lua
-LUALIBA = l$(LUALIB).a
-
-SQLSRC := util/sqlite
-SQLLIB := sqlite3
-SQLLIBA := lib$(SQLLIB).a
-FSQLLIBA := $(SQLSRC)/$(SQLLIBA)
-
-# Note: link sqlite with the full path to the .a, so OSX uses the right one.
-LIBDBM := $(FSQLLIBA)
-EXTRA_INCLUDES += -I$(SQLSRC)
-EXTRA_DEPENDS += $(FSQLLIBA)
-
-RLTILES = rltiles
-
-EXTRA_INCLUDES += -I$(RLTILES)
-
-TILEDEFS = dngn main player gui unrand
-TILEDEFPRES = $(TILEDEFS:%=$(RLTILES)/tiledef-%)
-TILEDEFOBJS = $(TILEDEFPRES:%=%.o)
-TILEDEFSRCS = $(TILEDEFPRES:%=%.cc)
-TILEDEFHDRS = $(TILEDEFPRES:%=%.h)
-
-OBJECTS += $(TILEDEFOBJS)
-
-TILEFILES = \
- main.png \
- player.png \
- dngn.png \
- gui.png
-DESTTILEFILES = $(TILEFILES:%=dat/tiles/%)
-
-EXTRA_DEPENDS += $(DESTTILEFILES)
-
-LIB = -L$(LUASRC) -l$(LUALIB) $(LIBDBM) $(EXTRA_LIBS)
-
-INCLUDES := $(INCLUDES) -Iutil -I. -I$(LUASRC) $(EXTRA_INCLUDES) $(PNG_INCLUDE) $(FREETYPE_INCLUDE)
-
-CFWARN := -Wall -Wwrite-strings -Wshadow -pedantic -Wno-parentheses
-
-CFOTHERS := -fsigned-char -D$(OS_TYPE) $(EXTRA_FLAGS) -DCLUA_BINDINGS
-
-ifneq ($(HURRY),y)
-ifneq ($(DEBUG_CRAWL),y)
-CFWARN += -Wuninitialized
-CFOTHERS += -O2
-endif
-endif
-
-ifneq ($(strip $(SAVEDIR)),)
-CFOTHERS += '-DSAVE_DIR_PATH="$(strip $(SAVEDIR))"'
-endif
-
-ifneq ($(strip $(DATADIR)),)
-CFOTHERS += '-DDATA_DIR_PATH="$(strip $(DATADIR))"'
-endif
-
-CFLAGS := $(INCLUDES) $(CFWARN) $(CFOTHERS) $(SDL_CFLAGS)
-YCFLAGS := $(INCLUDES) $(CFOTHERS)
-
-UTIL = util/
-
-YTABC := levcomp.tab.c
-YTABH := levcomp.tab.h
-
-OBJECTS := $(UTIL)levcomp.tab.o $(UTIL)levcomp.lex.o $(OBJECTS)
-
-ifeq ($(strip $(LEX)),)
-DOYACC :=
-endif
-
-ifeq ($(strip $(YACC)),)
-DOYACC :=
-endif
-
-GAME_DEPENDS := $(LUASRC)$(LUALIBA) $(EXTRA_DEPENDS) $(OBJECTS)
-SRC_PKG_BASE := stone_soup
-SRC_VERSION := $(shell egrep 'VER_NUM *".*"' version.h | \
- egrep -o '[0-9]\.[0-9](\.[0-9])?')
-PKG_SRC_DIR := $(SRC_PKG_BASE)-$(SRC_VERSION)-src
-SRC_PKG_TAR := $(PKG_SRC_DIR).tbz2
-SRC_PKG_ZIP := $(PKG_SRC_DIR).zip
-
-PKG_TIDY_LIST := $(UTIL)*.o $(LEVCOMP) *.o \
- $(UTIL)*.tab.cc $(UTIL)*.tab.h $(UTIL)*.lex.cc *.ixx
-PKG_EXCLUDES := $(PWD)/misc/src-pkg-excludes.lst
-
-##########################################################################
-
-all: $(GAME)
-
-##########################################################################
-# Dependencies
-
-DEPENDENCY_MKF := makefile.dep
-
-depend: $(OBJECTS:.o=.cc)
- rm -f $(DEPENDENCY_MKF).tmp
- @for i in $^; do \
- echo "Updating dependencies for $$i"; \
- $(CXX) -MM $(CFLAGS) $$i >>$(DEPENDENCY_MKF).tmp 2>/dev/null; \
- done
- mv -f $(DEPENDENCY_MKF).tmp $(DEPENDENCY_MKF)
-
--include $(DEPENDENCY_MKF)
-
-##########################################################################
-# The level compiler
-#
-
-ifeq ($(DOYACC),y)
-
-prebuildyacc: $(UTIL)levcomp.tab.cc $(UTIL)levcomp.tab.h $(UTIL)levcomp.lex.cc
- $(COPY) $^ prebuilt/
-
-$(UTIL)levcomp.tab.cc: $(UTIL)levcomp.ypp
- cd $(UTIL) && $(YACC) -d -b levcomp levcomp.ypp \
- && mv $(YTABC) levcomp.tab.cc || false
-
-$(UTIL)levcomp.lex.cc: $(UTIL)levcomp.lpp
- cd $(UTIL) && $(LEX) -olevcomp.lex.cc levcomp.lpp
-
-else
-
-# Pull the level-compiler stuff up from prebuilt/
-
-$(UTIL)levcomp.tab.cc: prebuilt/levcomp.tab.cc
- $(COPY) prebuilt/*.h $(UTIL)
- $(COPY) $< $@
-
-
-$(UTIL)levcomp.lex.cc: prebuilt/levcomp.lex.cc
- $(COPY) $< $@
-
-endif
-
-##########################################################################
-# RLTiles
-#
-
-ORIGTILEFILES = $(TILEFILES:%=$(RLTILES)/%)
-
-makerltiles:
- +$(MAKE) -C rltiles -f makefile.unix all
-
-$(TILEDEFSRCS): makerltiles
-
-$(TILEDEFHDRS): makerltiles
-
-$(ORIGTILEFILES): makerltiles
-
-dat/tiles/%.png: $(RLTILES)/%.png
- $(COPY) $< $@
-
-clean-rltiles:
- +$(MAKE) -C $(RLTILES) -f makefile.unix distclean && cd ..
-
-##########################################################################
-
-
-##########################################################################
-# The actual build targets
-#
-
-install: $(GAME)
-ifeq ($(DATADIR),)
- $(error DATADIR not set! Set DATADIR and run make clean install again)
-endif
- [ -d $(INSTALLDIR) ] || mkdir -p $(INSTALLDIR)
- $(COPY) $(GAME) $(INSTALLDIR)
- chown $(INSTALL_UGRP) $(INSTALLDIR)/$(GAME)
- chmod ${MCHMOD} ${INSTALLDIR}/$(GAME)
- mkdir -p $(DATADIR)/dat
- mkdir -p $(DATADIR)/dat/lua
- mkdir -p $(DATADIR)/dat/clua
- mkdir -p $(DATADIR)/dat/descript
- mkdir -p $(DATADIR)/dat/database
- $(COPY) dat/*.des $(DATADIR)/dat
- $(COPY) dat/lua/*.lua $(DATADIR)/dat/lua
- $(COPY) dat/clua/*.lua $(DATADIR)/dat/clua
- $(COPY) dat/descript/*.txt $(DATADIR)/dat/descript
- $(COPY) dat/database/*.txt $(DATADIR)/dat/database
- mkdir -p $(DATADIR)/settings
- $(COPY) ../settings/* $(DATADIR)/settings/
- mkdir -p $(DATADIR)/docs
- $(COPY) ../docs/*.txt $(DATADIR)/docs
- mkdir -p $(DATADIR)/dat/tiles
- $(COPY) dat/tiles/* $(DATADIR)/dat/tiles
- chown -R $(INSTALL_UGRP) $(DATADIR)
-ifneq ($(SAVEDIR),)
- mkdir -p $(SAVEDIR)
- chown $(INSTALL_UGRP) $(SAVEDIR)
- chmod $(MCHMOD_SAVEDIR) $(SAVEDIR)
-endif
-
-clean:
- $(DELETE) *.o
- $(DELETE) $(UTIL)*.o
- $(DELETE) $(LEVCOMP)
- $(DELETE) $(UTIL)*.tab.cc $(UTIL)*.tab.c $(UTIL)*.tab.h $(UTIL)*.lex.cc
- $(DELETE) *.ixx
-
-clean-lua:
- +$(MAKE) -C $(LUASRC) clean
-
-clean-sql:
- +$(MAKE) -C $(SQLSRC) clean
-
-distclean: clean clean-lua clean-sql clean-rltiles
- $(DELETE) bones.*
- $(DELETE) morgue.txt
- $(DELETE) scores
- $(DELETE) $(GAME)
- $(DELETE) *.sav
- $(DELETE) core
- $(DELETE) *.0*
- $(DELETE) *.lab
- $(DELETE) $(DEPENDENCY_MKF)
-
-$(GAME): $(GAME_DEPENDS)
- ${CXX} ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(GAME) $(LIB)
-
-.PHONY : debug
-
-debug: $(GAME)
-
-profile: $(GAME_DEPENDS)
- ${CXX} -g -p ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(GAME) $(LIB)
-
-%.o: %.cc $(TILEDEFHDRS)
- ${CXX} ${CFLAGS} -c $< -o $@
-
-# STL is bad in debug. Always compile this file with optimizations.
-tilebuf.o: tilebuf.cc $(TILEDEFHDRS)
- ${CXX} ${CFLAGS} -O2 -c $< -o $@
-
-# [ds] Note we don't use the standard CFLAGS here; that's intentional, most
-# flex/bison combos I've tried don't produce code that passes the warnings
-# test.
-$(UTIL)%.o: $(UTIL)%.cc $(TILEDEFHDRS)
- $(CXX) $(YCFLAGS) -o $@ -c $<
-
-#############################################################################
-# Build Lua
-
-$(LUASRC)$(LUALIBA):
- echo Building Lua...
- +$(MAKE) -C $(LUASRC) crawl_unix
-
-#############################################################################
-# Build SQLite
-
-$(FSQLLIBA):
- echo Building SQLite
- +$(MAKE) -C $(SQLSRC)
-
-#############################################################################
-# Build unrandart data
-art-data.h: art-data.txt util/art-data.pl art-func.h
- util/art-data.pl
-
-#############################################################################
-# Packaging a source tarball for release
-#
-
-# To package, you *must* have lex and yacc to generate the intermediates.
-ifeq ($(DOYACC),y)
-package-source: distclean prebuildyacc pkgtidy depend removeold vlink \
- pkgtarbz2 pkgzip
-
-pkgtidy:
- $(DELETE) $(PKG_TIDY_LIST)
-
-removeold:
- if [ -f ../../$(SRC_PKG_TAR) ]; then $(DELETE) ../../$(SRC_PKG_TAR); fi
- if [ -f ../../$(SRC_PKG_ZIP) ]; then $(DELETE) ../../$(SRC_PKG_ZIP); fi
-
-# [ds] Existing directory names could produce a bad package!
-vlink:
- cd .. && WHERE=$$PWD && cd .. && \
- ( [ -e $(PKG_SRC_DIR) ] || ln -sf $$WHERE $(PKG_SRC_DIR) )
-
-pkgtarbz2:
- cd ../.. && tar -ch --bzip2 -f $(SRC_PKG_TAR) \
- -X $(PKG_EXCLUDES) $(PKG_SRC_DIR)
-
-pkgzip:
- cd ../.. && zip -rq $(SRC_PKG_ZIP) $(PKG_SRC_DIR) \
- -x@$(PKG_EXCLUDES)
-
-endif
diff --git a/crawl-ref/source/rltiles/makefile.unix b/crawl-ref/source/rltiles/makefile.unix
index 721c467410..715b06ed14 100644
--- a/crawl-ref/source/rltiles/makefile.unix
+++ b/crawl-ref/source/rltiles/makefile.unix
@@ -2,13 +2,8 @@
SDL_CFLAGS := $(shell sdl-config --cflags)
SDL_LDFLAGS := $(shell sdl-config --libs)
-ifeq ($(strip $(OSX)),y)
-PNG_INCLUDE := -I/sw/include
-PNG_LIB := -L/sw/lib
-else
-PNG_INCLUDE :=
-PNG_LIB :=
-endif
+PNG_INCLUDE := $(shell pkg-config libpng --cflags)
+PNG_LIB := $(shell pkg-config libpng --libs)
CFLAGS := $(SDL_CFLAGS) $(PNG_INCLUDE)
LDFLAGS := $(SDL_LDFLAGS) $(PNGLIB) -lSDL_image -lpng
@@ -25,21 +20,30 @@ HEADERS := $(INPUTS:%=tiledef-%.h)
SOURCE := $(INPUTS:%=tiledef-%.cc)
IMAGES := $(INPUTS:%=%.png)
+ifneq ($(findstring $(MAKEFLAGS),s),s)
+ifndef V
+ QUIET_CXX = @echo ' ' CXX $@;
+ QUIET_GEN = @echo ' ' GEN $*;
+ QUIET_LINK = @echo ' ' LINK $@;
+ export V
+endif
+endif
+
BASE_OBJECTS := tile_colour.o tile.o tile_page.o tile_list_processor.o main.o
OBJECTS := $(BASE_OBJECTS:%=$(TOOLDIR)/%)
all: $(TILEGEN) $(HEADERS) $(SOURCE) $(IMAGES)
tiledef-%.h tiledef-%.cc %.png: dc-%.txt $(TILEGEN)
- $(TILEGEN) $<
+ $(QUIET_GEN)$(TILEGEN) $<
clean:
$(DELETE) $(HEADERS) $(OBJECTS) $(TILEGEN) $(SOURCE) $(IMAGES)
distclean: clean
-.cc.o:
- ${CXX} ${CFLAGS} -c $< -o $@
+%.o: %.cc
+ $(QUIET_CXX)$(CXX) $(CFLAGS) -c $< -o $@
$(TILEGEN): $(OBJECTS)
- ${CXX} ${LDFLAGS} $(OBJECTS) -o $@
+ $(QUIET_LINK)$(CXX) $(LDFLAGS) $(OBJECTS) -o $@
diff --git a/crawl-ref/source/util/Makefile b/crawl-ref/source/util/Makefile
new file mode 100644
index 0000000000..2e61683b21
--- /dev/null
+++ b/crawl-ref/source/util/Makefile
@@ -0,0 +1,26 @@
+YACC := bison -y
+LEX := flex
+
+ifneq ($(findstring $(MAKEFLAGS),s),s)
+ifndef V
+ QUIET_YACC = @echo ' ' YACC $@;
+ QUIET_LEX = @echo ' ' LEX $@;
+ export V
+endif
+endif
+
+all: levcomp.tab.cc levcomp.lex.cc
+
+clean:
+ rm -f levcomp.tab.cc levcomp.tab.h
+ rm -f levcomp.lex.cc
+ rm -f *.o
+
+%.tab.cc: %.tab.c
+ @mv $< $@
+
+%.lex.cc: %.lpp
+ $(QUIET_LEX)$(LEX) -o$@ $<
+
+%.tab.c: %.ypp
+ $(QUIET_YACC)$(YACC) -d -b $* $<
diff --git a/crawl-ref/source/util/lua/src/Makefile b/crawl-ref/source/util/lua/src/Makefile
index d5f5222207..d6cd279837 100644
--- a/crawl-ref/source/util/lua/src/Makefile
+++ b/crawl-ref/source/util/lua/src/Makefile
@@ -9,6 +9,15 @@
# Your platform. See PLATS for possible values.
PLAT= none
+ifneq ($(findstring $(MAKEFLAGS),s),s)
+ifndef V
+ QUIET_CC = @echo ' ' CC $@;
+ QUIET_AR = @echo ' ' AR $@;
+ QUIET_LINK = @echo ' ' LINK $@;
+ export V
+endif
+endif
+
CC= gcc
CFLAGS= -O2 -Wall $(MYCFLAGS)
AR= ar rcu
@@ -46,19 +55,22 @@ default: $(PLAT)
all: $(ALL_T)
+%.o: %.c
+ $(QUIET_CC)$(CC) -c $(CFLAGS) -o $@ $<
+
o: $(ALL_O)
a: $(ALL_A)
$(LUA_A): $(CORE_O) $(LIB_O)
- $(AR) $@ $?
- $(RANLIB) $@
+ $(QUIET_AR)$(AR) $@ $?
+ @$(RANLIB) $@
$(LUA_T): $(LUA_O) $(LUA_A)
- $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+ $(QUIET_LINK)$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
$(LUAC_T): $(LUAC_O) $(LUA_A)
- $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+ $(QUIET_LINK)$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
clean:
$(RM) $(ALL_T) $(ALL_O)
@@ -116,7 +128,7 @@ mingw:
$(MAKE) "LUAC_T=luac.exe" luac.exe
crawl_unix:
- $(MAKE) "LUA_A=liblua.a" \
+ @$(MAKE) "LUA_A=liblua.a" \
"MYCFLAGS=" "MYLIBS=" "MYLDFLAGS=" liblua.a
crawl_mingw: crawl_unix
diff --git a/crawl-ref/source/util/sqlite/Makefile b/crawl-ref/source/util/sqlite/Makefile
index 01a73c4392..6f9686fbd8 100644
--- a/crawl-ref/source/util/sqlite/Makefile
+++ b/crawl-ref/source/util/sqlite/Makefile
@@ -1,5 +1,13 @@
# -*- Makefile -*- for stripped down SQLite 3 static lib.
+ifneq ($(findstring $(MAKEFLAGS),s),s)
+ifndef V
+ QUIET_CC = @echo ' ' CC $@;
+ QUIET_AR = @echo ' ' AR $@;
+ export V
+endif
+endif
+
LIBSQL = libsqlite3.a
AR = ar rcu
CC = gcc
@@ -22,7 +30,8 @@ CFLAGS = -DSQLITE_OMIT_AUTHORIZATION \
-DSQLITE_OMIT_SCHEMA_VERSION_PRAGMAS \
-DSQLITE_OMIT_TCL_VARIABLE \
-DSQLITE_OMIT_LOAD_EXTENSION \
- -DTHREADSAFE=0
+ -DTHREADSAFE=0 \
+ -w
all: $(LIBSQL)
@@ -31,8 +40,8 @@ clean:
$(RM_F) *.a
$(LIBSQL): sqlite3.o
- $(AR) $@ $^
- $(RANLIB) $@
+ $(QUIET_AR)$(AR) $@ $^
+ @$(RANLIB) $@
%.o: %.c
- $(CC) $(CFLAGS) -o $@ -c $<
+ $(QUIET_CC)$(CC) $(CFLAGS) -o $@ -c $<