Incredibly hairy to get this to work, largely because MinGW's GCC is picky about the link order, among other things.
But now we have a working build!
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
G5IEUQSGE4HKXACJA6W2JZFDETPSTGTDQ7JCHDEPZN6QAWRP4Z6QC 3U3NXSIZHUIEUFXV7NYSIO3RXUSMIJAFEAIEALX5ER6XZAKBPYJAC GG3JVF3PSRL3ZCGLCXSVAKTXVIRYXBOCZ6UIDLKLT3INEMYSOTZQC MVU2F2ZW2JFRTZS5XLDSTCKPUXQEWATAQBT472XKX4DNDQTMQXRQC LBVFZXKIGQRYWF6LS4H62I5B4KUVIPF7DTSNUYHDOIDR76VS33AAC E4XIPZI7R2FZEGKDWOF4COZU2XK4FDLCOZ2OGBZGKD3D463YOOMAC FHMTFYXFX5OBWFLRH4PU4ZOWP5JGDCH4OBCJSAMPIC5SREHXM5AQC HBXWZNXAJ7LUX7FYUIHQYBTRMWVJC6CAQQL3NNZHK5ETLIFEZJ7QC 25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC GL5T36G3A2LUTTYSL7ZQVUYONUCXL5DK36532FM6XRAQCLYDWW2QC ZJT4LPVYZU5AFPNQESSXGLE2VBFSQLR2OEXJLWIMRIO7B532MVWQC SSPFGPVYFTWDK3ZMQQKOPVM5SVES62TL5KFEFC2PX4PMZDWHTIOQC AMYZN5E6SNZWQI4BVLZIG5DYB3S6ATHUSLJIABDXXYKDAHODA3SQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC RRJ46VMOKMHIUVOOKCFBSVXNT3GPNWTHG2PGBFV7224AWEG7NS2AC GYS5IM6FVZKFSFMT7K4SO5GHS4UULDY23JJRH5BQ2YOYDQYXVJAAC HCTDAXFRE6LXGHLKOMM7GX3YXGWJYM4DLZS7ITWYTXC5NWZBB2OQC MTVWMQ5HV5LGDRU53GJV45GTANABRJLNIECWT7ZH2MCLO53XLFXAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 6JG5G2K7WW4OTAD2NM2QUQZ3R4RDOC2VZIP4CIJF5EE3SLE7DCYAC 4VPFI4QI3ZKC2JISFUWFS4PWOJBHZFBLYGWOUZGRUANS4TI4OQPQC YMHOAPBY3ARMIRUEZ4TWQPV2KZVQWESAQY5WC7QRBEHHFXFONMFQC 6QJC4NUZIHK6QHDMIFBBOO3K2VF5TZ5BDN5NXJKOK6S5FPW3XBXQC SVBGY75CBM6CNB4WEMUPF37G7IFJCC3DPI532WKY7PQTY3YX7KNAC SDL_CFLAGS := $(shell sdl-config --cflags)SDL_LDFLAGS := $(shell sdl-config --libs)
SDLCONFIG := $(shell which sdl-config 2> /dev/null)ifeq ($(SDLCONFIG),)SDLCONFIG := $(shell pwd)/contrib/install/bin/sdl-configendif
PNG_INCLUDE := $(shell pkg-config libpng --cflags)PNG_LIB := $(shell pkg-config libpng --libs)
SDL_CFLAGS := $(shell $(SDLCONFIG) --cflags 2> /dev/null)SDL_LDFLAGS := $(shell $(SDLCONFIG) --libs 2> /dev/null)PNG_INCLUDE := $(shell pkg-config libpng --cflags 2> /dev/null)PNG_LIB := $(shell pkg-config libpng --libs 2> /dev/null)
CFLAGS := $(SDL_CFLAGS) $(PNG_INCLUDE)LDFLAGS := $(SDL_LDFLAGS) $(PNGLIB) -lSDL_image -lpng
CFLAGS := -I../contrib/install/include $(SDL_CFLAGS) $(PNG_INCLUDE)LDFLAGS := -L../contrib/install/lib $(SDL_LDFLAGS) -lSDL_image $(PNG_LIB) -lz
# LUALUASRC := contrib/lua/src/LUALIB := luaLUALIBA := lib$(LUALIB).aFLUALIBA := $(LUASRC)$(LUALIBA)
INCLUDES_L += -Icontrib/install/includeLIB += -Lcontrib/install/lib
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)
SDL_INCLUDE := $(shell $(SDLCONFIG) --cflags | tr ' ' '\n' | grep ^[-]I | tr '\n' ' ')SDL_CFLAGS := $(shell $(SDLCONFIG) --cflags | tr ' ' '\n' | grep -v ^[-]I | tr '\n' ' ')SDL_LDFLAGS := $(shell $(SDLCONFIG) --libs)
GAME_DEPENDS := $(LUASRC)$(LUALIBA) $(EXTRA_DEPENDS) $(OBJECTS) $(EXTRA_OBJECTS)
ifneq ($(USE_PCRE),n)CONTRIB_DEPENDS += $(LIBPCRE)endifCONTRIB_DEPENDS += $(LIBLUA) $(LIBSQLITE)GAME_DEPENDS := $(DESTTILEFILES) $(OBJECTS) $(EXTRA_OBJECTS) $(CONTRIB_DEPENDS)
ifneq ($(USE_PCRE),n)GAME_DEPENDS += $(FPCRELIBA)endif
$(FLUALIBA): .contrib-ok+@$(MAKE) -C $(LUASRC) crawl_unix
$(LIBSQLITE): .contrib-ok+@$(MAKE) -C contrib sqlitesqlite: $(LIBSQLITE)$(LIBFREETYPE): .contrib-ok+@$(MAKE) -C contrib freetypefreetype: $(LIBFREETYPE)
uname_S := $(shell uname -s)PREFIX:=$(shell pwd)/installall: lua sqlite sdl sdl-image freetype libpng pcre zlib.PHONY: lua sqlite sdl sdl-image freetype libpng pcre zlibclean:rm -rf $(PREFIX)-make -C freetype distclean-make -C libpng distclean-make -C lua clean-make -C sdl distclean-make -C sdl-image distclean-make -C sqlite clean-make -C pcre clean-make -C zlib 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)endifendif## FreeType 2#freetype/objs/.libs/libfreetype.a: $(PREFIX)/lib/libz.acd freetype && ./configure --prefix=$(PREFIX) --with-zlib=$(PREFIX) --enable-static --disable-shared@+$(MAKE) -C freetype$(PREFIX)/lib/libfreetype.a: freetype/objs/.libs/libfreetype.a@$(MAKE) -C freetype installfreetype: $(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$(PREFIX)/lib/libpcre.a: pcre/libpcre.a@$(MAKE) -C pcre install prefix=$(PREFIX)pcre: $(PREFIX)/lib/libpcre.a## libpng#libpng/.libs/libpng.a: $(PREFIX)/lib/libz.acd libpng && ./configure --prefix=$(PREFIX) --enable-static --disable-shared LDFLAGS="-L$(PREFIX)/lib"@+$(MAKE) -C libpng$(PREFIX)/lib/libpng.a: libpng/.libs/libpng.a@$(MAKE) -C libpng installlibpng: $(PREFIX)/lib/libpng.a## SDL#sdl/build/.libs/libSDL.a:cd sdl && ./configure --prefix=$(PREFIX) --enable-static --disable-shared@+$(MAKE) -C sdl$(PREFIX)/lib/libSDL.a: sdl/build/.libs/libSDL.a@$(MAKE) -C sdl installifneq (,$(findstring MINGW,$(uname_S)))## Very hackish fix for MinGWsed 's/-mwindows/-lwinmm -lpng -lz -mwindows/' install/bin/sdl-config > install/bin/sdl-config.fixedmv install/bin/sdl-config.fixed install/bin/sdl-configchmod 755 install/bin/sdl-configendifsdl: $(PREFIX)/lib/libSDL.a## SDL_image#sdl-image/.libs/libSDL_image.a: $(PREFIX)/lib/libpng.acd sdl-image && ./configure --prefix=$(PREFIX) --with-sdl-prefix=$(PREFIX) --enable-static --disable-shared --enable-bmp --enable-png 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 installsdl-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 installzlib: $(PREFIX)/lib/libz.a