Mercurial > hg > forks > pwpunix
annotate Makefile @ 33:8b2b0677eb99
Build system changes for SDL/Win32 cross-build via MinGW hosted on Linux.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 24 May 2010 00:22:37 +0300 |
parents | 78235ee17b69 |
children | 678924af9149 |
rev | line source |
---|---|
23 | 1 ### Global settings |
33
8b2b0677eb99
Build system changes for SDL/Win32 cross-build via MinGW hosted on Linux.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
2 CFLAGS += -W -Wall -O3 |
24 | 3 LDFLAGS += |
33
8b2b0677eb99
Build system changes for SDL/Win32 cross-build via MinGW hosted on Linux.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
4 MINGW_PATH=/usr/local/i386-mingw32 |
23 | 5 |
6 ### Subdirectories to build | |
7 SUBDIRS=pwplib peluce nykyaeka oldchsool pwpzax | |
0 | 8 |
23 | 9 ### Show some help |
10 help: | |
11 @if test ! -f config.mak; then \ | |
12 echo "PWPLib build system"; \ | |
13 echo "Usage: make <target>"; \ | |
14 echo ""; \ | |
15 echo "sdl - LibSDL video/audio for POSIX style systems"; \ | |
16 echo "unix - Terminal only POSIX style systems"; \ | |
17 echo "linux - Like unix, but with Linux console and OSS audio support"; \ | |
18 echo "hpux - HP-UX (untested now)"; \ | |
19 echo "sdl-win32 - LibSDL for Win32, cross compilation via MinGW toolchain"; \ | |
20 echo "sdl-win64 - Like above, but for Win64 via MinGW64"; \ | |
21 echo ""; \ | |
22 else \ | |
23 echo "Configured as:"; \ | |
24 cat config.mak; \ | |
24 | 25 echo "To re-build: 'make all'"; \ |
26 echo "To reconfigure: 'make clean' and 'make <target>'"; \ | |
23 | 27 fi |
0 | 28 |
23 | 29 endianchk: endianchk.c |
30 $(CC) -o $@ $< | |
0 | 31 |
23 | 32 config.mak: |
33 @echo "" > $@ | |
34 @echo "# Build target: $(XTARGET)" >> $@ | |
33
8b2b0677eb99
Build system changes for SDL/Win32 cross-build via MinGW hosted on Linux.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
35 @echo "PATH=$(PATH)" >> $@ |
23 | 36 @echo "CC=$(CC)" >> $@ |
33
8b2b0677eb99
Build system changes for SDL/Win32 cross-build via MinGW hosted on Linux.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
37 @echo "AR=$(AR)" >> $@ |
8b2b0677eb99
Build system changes for SDL/Win32 cross-build via MinGW hosted on Linux.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
38 @echo "LD=$(LD)" >> $@ |
23 | 39 @echo "CFLAGS=$(CFLAGS) $(XCFLAGS)" >> $@ |
40 @echo "LDFLAGS=$(LDFLAGS) $(XLDFLAGS)" >> $@ | |
33
8b2b0677eb99
Build system changes for SDL/Win32 cross-build via MinGW hosted on Linux.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
41 @echo "BINEXT=$(BINEXT)" >> $@ |
23 | 42 @echo "" >> $@ |
43 | |
44 ### Build sub targets | |
45 all: | |
33
8b2b0677eb99
Build system changes for SDL/Win32 cross-build via MinGW hosted on Linux.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
46 @for subdir in $(SUBDIRS); do if ! $(MAKE) -C "$$subdir"; then echo "Make returned $?"; exit 1; fi; done |
23 | 47 |
48 pwplib.a: | |
49 $(MAKE) -C pwplib | |
0 | 50 |
51 clean: | |
23 | 52 @for subdir in $(SUBDIRS); do $(MAKE) -C "$$subdir" clean; done |
53 $(RM) config.mak endianchk | |
0 | 54 |
23 | 55 ### Major targets |
56 unix: endianchk | |
57 $(RM) config.mak && endianflags=`./endianchk` && \ | |
58 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX $$endianflags" XLDFLAGS="-lm" && \ | |
59 $(MAKE) all | |
0 | 60 |
23 | 61 hpux: |
62 $(RM) config.mak && \ | |
63 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DBIG_ENDIAN -DDRIVE_HPUX" XLDFLAGS="-lm" && \ | |
64 $(MAKE) all | |
0 | 65 |
23 | 66 linux: endianchk |
67 $(RM) config.mak && endianflags=`./endianchk` && \ | |
68 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DDRIVE_LINUXCON -DDRIVE_OSS $$endianflags" XLDFLAGS="-lm" && \ | |
69 $(MAKE) all | |
0 | 70 |
23 | 71 sdl: endianchk |
72 $(RM) config.mak && endianflags=`./endianchk` && \ | |
73 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DDRIVE_SDL $$endianflags `sdl-config --cflags`" XLDFLAGS="`sdl-config --libs` -lm" && \ | |
74 $(MAKE) all | |
0 | 75 |
23 | 76 sdl-win32: endianchk |
77 $(RM) config.mak && \ | |
33
8b2b0677eb99
Build system changes for SDL/Win32 cross-build via MinGW hosted on Linux.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
78 $(MAKE) config.mak PATH="$(MINGW_PATH)/bin:/usr/bin:/bin" BINEXT=".exe" CC="gcc" \ |
8b2b0677eb99
Build system changes for SDL/Win32 cross-build via MinGW hosted on Linux.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
79 XTARGET="$@" XCFLAGS="-DDRIVE_SDL `$(MINGW_PATH)/bin/sdl-config --cflags`" \ |
8b2b0677eb99
Build system changes for SDL/Win32 cross-build via MinGW hosted on Linux.
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
80 XLDFLAGS="-s -L$(MINGW_PATH)/lib/ `$(MINGW_PATH)/bin/sdl-config --libs` -lwinmm" && \ |
23 | 81 $(MAKE) all |
0 | 82 |
23 | 83 .dummy: |
84 |