Signed-off-by: Steven Noonan <steven@uplinklabs.net>
ULUV425OHDMQTVU734WIILSSCAYCE55HDND5UAZHMULR6XJWFJKQC
JVM67ZBLK7BIGV6X2MIRQ5MAIUFFMOA2LX7PDIZ7TT6W3XGK3EQQC
AH66ASRLNX45TIIP44UBZ2MRYWDXVE7QA4D3RM5LUB535W64PHHAC
XWWNNQ3GP6JIKEJRBKBRNZETIYDLREGGKEV3UL7W77IY3VPWI67QC
G5IEUQSGE4HKXACJA6W2JZFDETPSTGTDQ7JCHDEPZN6QAWRP4Z6QC
YEVHYMWG4MDAVRBDTVCYFB74HJUENM63VUODKAQAFKJKBLSLYCZQC
CFNPU4AOU4Q5DC5CKHXGFPFX2BRZMY3UFTLTL6TQN2ROGHCM2DTAC
ZS6ECOMX7LZGZQUJKZKHLICSZYFFMKQ7TAWG5P5TWDKS4G646YRQC
# Only clean submodules we actually posses. Some makefiles don't have
# 'distclean' target, so try both 'clean' and 'distclean', and discard
# any errors.
clean:
rm -rf $(PREFIX)
@for a in freetype libpng lua sdl sdl-image sqlite pcre zlib; do \
if [ -f $$a/Makefile ] || [ -f $$a/makefile ] ; then \
make -k -C $$a clean distclean 2> /dev/null; \
fi \
clean distclean:
@for a in $(SUBDIRS); do \
make -C $$a distclean; \
#
# Check for GNU Make >=3.80
#
eval_available :=
$(eval eval_available := T)
ifneq ($(eval_available),T)
ifneq (,$(findstring MINGW,$(uname_S)))
$(error FreeType needs GNU Make 3.80 or later. Get this from http://prdownloads.sourceforge.net/mingw/make-3.81-MSYS-1.0.11-2.tar.bz2)
else
$(error FreeType's build system needs GNU Make 3.80 or later)
endif
endif
#
# FreeType 2
#
freetype/objs/.libs/libfreetype.a: $(PREFIX)/lib/libz.a
cd freetype && ./configure --prefix=$(PREFIX) --with-zlib=$(PREFIX) --enable-static --disable-shared $(CONFIGURE_FLAGS)
@+$(MAKE) -C freetype
$(PREFIX)/lib/libfreetype.a: freetype/objs/.libs/libfreetype.a
@$(MAKE) -C freetype install
freetype: $(PREFIX)/lib/libfreetype.a
#
# Lua
#
lua/src/liblua.a:
@+$(MAKE) -C lua/src crawl_unix
$(PREFIX)/lib/liblua.a: lua/src/liblua.a
@$(MAKE) -C lua/src install prefix=$(PREFIX)
lua: $(PREFIX)/lib/liblua.a
#
# SQLite
#
sqlite/libsqlite3.a:
@+$(MAKE) -C sqlite
$(PREFIX)/lib/libsqlite3.a: sqlite/libsqlite3.a
@$(MAKE) -C sqlite install prefix=$(PREFIX)
sqlite: $(PREFIX)/lib/libsqlite3.a
#
# PCRE
#
pcre/libpcre.a:
@+$(MAKE) -C pcre
rm -rf $(PREFIX)
#
# libpng
#
libpng/.libs/libpng.a: $(PREFIX)/lib/libz.a
cd libpng && ./configure --prefix=$(PREFIX) --enable-static --disable-shared $(CONFIGURE_FLAGS) CPPFLAGS="-I$(PREFIX)/include" LDFLAGS="-L$(PREFIX)/lib"
@+$(MAKE) -C libpng
$(PREFIX)/lib/libpng.a: libpng/.libs/libpng.a
@$(MAKE) -C libpng install
libpng: $(PREFIX)/lib/libpng.a
#
# SDL
#
sdl/build/.libs/libSDL.a:
-cd sdl && autoreconf
cd sdl && ./configure --prefix=$(PREFIX) --enable-static --disable-shared $(CONFIGURE_FLAGS)
@+$(MAKE) -C sdl
$(PREFIX)/lib/libSDL.a: sdl/build/.libs/libSDL.a
@$(MAKE) -C sdl install
ifneq (,$(findstring MINGW,$(uname_S)))
#
# Very hackish fix for MinGW
sed 's/-mwindows/-lwinmm -lpng -lz -mwindows/' install/bin/sdl-config > install/bin/sdl-config.fixed
mv install/bin/sdl-config.fixed install/bin/sdl-config
chmod 755 install/bin/sdl-config
endif
sdl: $(PREFIX)/lib/libSDL.a
#
# SDL_image
#
sdl-image/.libs/libSDL_image.a: $(PREFIX)/lib/libpng.a $(PREFIX)/lib/libSDL.a
-cd sdl-image && autoreconf
cd sdl-image && ./configure --prefix=$(PREFIX) --with-sdl-prefix=$(PREFIX) --enable-static --disable-shared --enable-bmp --enable-png $(CONFIGURE_FLAGS) LDFLAGS="-L$(PREFIX)/lib -lpng -lz" CPPFLAGS="-I$(PREFIX)/include"
@+$(MAKE) -C sdl-image
$(PREFIX)/lib/libSDL_image.a: sdl-image/.libs/libSDL_image.a
@$(MAKE) -C sdl-image install
sdl-image: $(PREFIX)/lib/libSDL_image.a
#
# zlib
#
zlib/libz.a:
cd zlib && ./configure --prefix=$(PREFIX)
@+$(MAKE) -C zlib
$(PREFIX)/lib/libz.a: zlib/libz.a
@$(MAKE) -C zlib install
zlib: $(PREFIX)/lib/libz.a
.PHONY: $(SUBDIRS)