comparison Makefile @ 71:a87eb778f225

Improvements to the MinGW crossbuild. Should now build with default tools from Debian mingw packages, though you need Win32 version of libSDL with the necessary headers and so on in addition. 64-bit builds not tested and probably won't work. Tested on Debian 7.0, earlier won't work. binutils-mingw-w64-i686 gcc-mingw-w64-i686 mingw-w64-i686-dev
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 14 Aug 2012 03:08:10 +0300
parents 1bd4e39c600b
children 1096f6ffd15c
comparison
equal deleted inserted replaced
70:c977882406e6 71:a87eb778f225
1 ### Global settings 1 ### Global settings
2 CFLAGS += -W -Wall -O3 2 CFLAGS += -W -Wall -O3
3 LDFLAGS += 3 LDFLAGS +=
4 RANLIB=ranlib 4 RANLIB=ranlib
5 5
6 MINGW32_PATH=/usr/local/i386-mingw32 6 MINGW32_PREFIX=i686-w64-mingw32-
7 MINGW64_PATH=/foo/bar 7 MINGW32_PATH=/usr/i686-w64-mingw32
8 MINGW64_PREFIX=x86_64-w64-mingw32-
8 9
9 ### Subdirectories to build 10 ### Subdirectories to build
10 SUBDIRS=pwplib peluce nykyaeka oldchsool pwpzax 11 SUBDIRS=pwplib peluce nykyaeka oldchsool pwpzax
11 12
12 ### Show some help 13 ### Show some help
34 35
35 config.mak: 36 config.mak:
36 @echo "" > $@ 37 @echo "" > $@
37 @echo "# Build target: $(XTARGET)" >> $@ 38 @echo "# Build target: $(XTARGET)" >> $@
38 @echo "XTARGET=$(XTARGET)" >> $@ 39 @echo "XTARGET=$(XTARGET)" >> $@
39 @echo "PATH=$(PATH)" >> $@ 40 @echo "CC=$(PREFIX)$(CC)" >> $@
40 @echo "CC=$(CC)" >> $@ 41 @echo "AR=$(PREFIX)$(AR)" >> $@
41 @echo "AR=$(AR)" >> $@ 42 @echo "LD=$(PREFIX)$(LD)" >> $@
42 @echo "LD=$(LD)" >> $@ 43 @echo "RANLIB=$(PREFIX)$(RANLIB)" >> $@
43 @echo "RANLIB=$(RANLIB)" >> $@
44 @echo "CFLAGS=$(CFLAGS) $(XCFLAGS)" >> $@ 44 @echo "CFLAGS=$(CFLAGS) $(XCFLAGS)" >> $@
45 @echo "LDFLAGS=$(LDFLAGS) $(XLDFLAGS)" >> $@ 45 @echo "LDFLAGS=$(LDFLAGS) $(XLDFLAGS)" >> $@
46 @echo "BINEXT=$(BINEXT)" >> $@ 46 @echo "BINEXT=$(BINEXT)" >> $@
47 @echo "" >> $@ 47 @echo "" >> $@
48 48
78 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DDRIVE_SDL $$endianflags `sdl-config --cflags`" XLDFLAGS="`sdl-config --libs` -lm" && \ 78 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DDRIVE_SDL $$endianflags `sdl-config --cflags`" XLDFLAGS="`sdl-config --libs` -lm" && \
79 $(MAKE) all 79 $(MAKE) all
80 80
81 sdl-win32: 81 sdl-win32:
82 $(RM) config.mak && \ 82 $(RM) config.mak && \
83 $(MAKE) config.mak PATH="$(MINGW32_PATH)/bin:/usr/bin:/bin" BINEXT=".exe" CC="gcc" \ 83 $(MAKE) config.mak PREFIX="$(MINGW32_PREFIX)" BINEXT=".exe" CC="gcc" \
84 XTARGET="$@" XCFLAGS="-DDRIVE_SDL `$(MINGW32_PATH)/bin/sdl-config --cflags`" \ 84 XTARGET="$@" XCFLAGS="-DDRIVE_SDL `$(MINGW32_PATH)/bin/sdl-config --cflags`" \
85 XLDFLAGS="-s -L$(MINGW32_PATH)/lib/ `$(MINGW32_PATH)/bin/sdl-config --libs` -lwinmm" && \ 85 XLDFLAGS="-s -L$(MINGW32_PATH)/lib/ `$(MINGW32_PATH)/bin/sdl-config --libs` -lwinmm" && \
86 $(MAKE) all 86 $(MAKE) all
87 87
88 sdl-win64: 88 sdl-win64:
89 $(RM) config.mak && \ 89 $(RM) config.mak && \
90 $(MAKE) config.mak PATH="$(MINGW64_PATH)/bin:/usr/bin:/bin" BINEXT=".exe" CC="gcc" \ 90 $(MAKE) config.mak PREFIX="$(MINGW64_PREFIX)" BINEXT=".exe" CC="gcc" \
91 XTARGET="$@" XCFLAGS="-DDRIVE_SDL `$(MINGW64_PATH)/bin/sdl-config --cflags`" \ 91 XTARGET="$@" XCFLAGS="-DDRIVE_SDL `$(MINGW64_PATH)/bin/sdl-config --cflags`" \
92 XLDFLAGS="-s -L$(MINGW64_PATH)/lib/ `$(MINGW64_PATH)/bin/sdl-config --libs` -lwinmm" && \ 92 XLDFLAGS="-s -L$(MINGW64_PATH)/lib/ `$(MINGW64_PATH)/bin/sdl-config --libs` -lwinmm" && \
93 $(MAKE) all 93 $(MAKE) all
94 94
95 PACKAGE=pwpunix-1.96-sdl 95 PACKAGE=pwpunix-1.96-sdl