annotate Makefile @ 47:b556bdc2a365

Add 'hg-tar' target for making a tarball from the Mercurial repository.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 24 May 2010 05:48:57 +0300
parents 1a01445cc0a7
children 4698627de33d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
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
78235ee17b69 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 23
diff changeset
3 LDFLAGS +=
38
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
4 MINGW32_PATH=/usr/local/i386-mingw32
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
5 MINGW64_PATH=/foo/bar
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
6
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
7 ### Subdirectories to build
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
8 SUBDIRS=pwplib peluce nykyaeka oldchsool pwpzax
0
acb5694e93d9 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
10 ### Show some help
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
11 help:
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
12 @if test ! -f config.mak; then \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
13 echo "PWPLib build system"; \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
14 echo "Usage: make <target>"; \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
15 echo ""; \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
16 echo "sdl - LibSDL video/audio for POSIX style systems"; \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
17 echo "unix - Terminal only POSIX style systems"; \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
18 echo "linux - Like unix, but with Linux console and OSS audio support"; \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
19 echo "hpux - HP-UX (untested now)"; \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
20 echo "sdl-win32 - LibSDL for Win32, cross compilation via MinGW toolchain"; \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
21 echo "sdl-win64 - Like above, but for Win64 via MinGW64"; \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
22 echo ""; \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
23 else \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
24 echo "Configured as:"; \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
25 cat config.mak; \
24
78235ee17b69 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 23
diff changeset
26 echo "To re-build: 'make all'"; \
78235ee17b69 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 23
diff changeset
27 echo "To reconfigure: 'make clean' and 'make <target>'"; \
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
28 fi
0
acb5694e93d9 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
30 endianchk: endianchk.c
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
31 $(CC) -o $@ $<
0
acb5694e93d9 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
32
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
33 config.mak:
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
34 @echo "" > $@
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
35 @echo "# Build target: $(XTARGET)" >> $@
38
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
36 @echo "XTARGET=$(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
37 @echo "PATH=$(PATH)" >> $@
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
38 @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
39 @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
40 @echo "LD=$(LD)" >> $@
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
41 @echo "CFLAGS=$(CFLAGS) $(XCFLAGS)" >> $@
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
42 @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
43 @echo "BINEXT=$(BINEXT)" >> $@
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
44 @echo "" >> $@
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
45
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
46 ### Build sub targets
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
47 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
48 @for subdir in $(SUBDIRS); do if ! $(MAKE) -C "$$subdir"; then echo "Make returned $?"; exit 1; fi; done
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
49
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
50 pwplib.a:
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
51 $(MAKE) -C pwplib
0
acb5694e93d9 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
52
acb5694e93d9 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
53 clean:
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
54 @for subdir in $(SUBDIRS); do $(MAKE) -C "$$subdir" clean; done
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
55 $(RM) config.mak endianchk
0
acb5694e93d9 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
56
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
57 ### Major targets
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
58 unix: endianchk
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
59 $(RM) config.mak && endianflags=`./endianchk` && \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
60 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX $$endianflags" XLDFLAGS="-lm" && \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
61 $(MAKE) all
0
acb5694e93d9 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
62
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
63 hpux:
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
64 $(RM) config.mak && \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
65 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DBIG_ENDIAN -DDRIVE_HPUX" XLDFLAGS="-lm" && \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
66 $(MAKE) all
0
acb5694e93d9 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
67
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
68 linux: endianchk
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
69 $(RM) config.mak && endianflags=`./endianchk` && \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
70 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DDRIVE_LINUXCON -DDRIVE_OSS $$endianflags" XLDFLAGS="-lm" && \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
71 $(MAKE) all
0
acb5694e93d9 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
73 sdl: endianchk
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
74 $(RM) config.mak && endianflags=`./endianchk` && \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
75 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DDRIVE_SDL $$endianflags `sdl-config --cflags`" XLDFLAGS="`sdl-config --libs` -lm" && \
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
76 $(MAKE) all
0
acb5694e93d9 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
77
38
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
78 sdl-win32:
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
79 $(RM) config.mak && \
38
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
80 $(MAKE) config.mak PATH="$(MINGW32_PATH)/bin:/usr/bin:/bin" BINEXT=".exe" CC="gcc" \
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
81 XTARGET="$@" XCFLAGS="-DDRIVE_SDL `$(MINGW32_PATH)/bin/sdl-config --cflags`" \
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
82 XLDFLAGS="-s -L$(MINGW32_PATH)/lib/ `$(MINGW32_PATH)/bin/sdl-config --libs` -lwinmm" && \
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
83 $(MAKE) all
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
84
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
85 sdl-win64:
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
86 $(RM) config.mak && \
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
87 $(MAKE) config.mak PATH="$(MINGW64_PATH)/bin:/usr/bin:/bin" BINEXT=".exe" CC="gcc" \
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
88 XTARGET="$@" XCFLAGS="-DDRIVE_SDL `$(MINGW64_PATH)/bin/sdl-config --cflags`" \
678924af9149 Buildsystem changes, build zaxplay or orig only when the target probably allows it.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
89 XLDFLAGS="-s -L$(MINGW64_PATH)/lib/ `$(MINGW64_PATH)/bin/sdl-config --libs` -lwinmm" && \
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
90 $(MAKE) all
0
acb5694e93d9 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
91
47
b556bdc2a365 Add 'hg-tar' target for making a tarball from the Mercurial repository.
Matti Hamalainen <ccr@tnsp.org>
parents: 46
diff changeset
92 PACKAGE=pwpunix-1.95-sdl
b556bdc2a365 Add 'hg-tar' target for making a tarball from the Mercurial repository.
Matti Hamalainen <ccr@tnsp.org>
parents: 46
diff changeset
93 ZIPFILE=$(PACKAGE)-win32-bin.zip
46
1a01445cc0a7 Improve the zip packaging a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 45
diff changeset
94
45
728a691ffe65 "Hidden" targets for win32 binary zip generation.
Matti Hamalainen <ccr@tnsp.org>
parents: 38
diff changeset
95 README.txt: README
728a691ffe65 "Hidden" targets for win32 binary zip generation.
Matti Hamalainen <ccr@tnsp.org>
parents: 38
diff changeset
96 unix2dos -n $< $@
728a691ffe65 "Hidden" targets for win32 binary zip generation.
Matti Hamalainen <ccr@tnsp.org>
parents: 38
diff changeset
97
728a691ffe65 "Hidden" targets for win32 binary zip generation.
Matti Hamalainen <ccr@tnsp.org>
parents: 38
diff changeset
98 sdl-win32-zip: clean sdl-win32 README.txt SDL.dll
46
1a01445cc0a7 Improve the zip packaging a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 45
diff changeset
99 $(RM) $(ZIPFILE)
45
728a691ffe65 "Hidden" targets for win32 binary zip generation.
Matti Hamalainen <ccr@tnsp.org>
parents: 38
diff changeset
100 for subdir in $(SUBDIRS); do tmp=`ls $$subdir/*.exe`; if test -f "$$tmp"; then cp "$$tmp" .; fi; done; \
46
1a01445cc0a7 Improve the zip packaging a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 45
diff changeset
101 zip -9vv $(ZIPFILE) *.exe README.txt SDL.dll
47
b556bdc2a365 Add 'hg-tar' target for making a tarball from the Mercurial repository.
Matti Hamalainen <ccr@tnsp.org>
parents: 46
diff changeset
102
b556bdc2a365 Add 'hg-tar' target for making a tarball from the Mercurial repository.
Matti Hamalainen <ccr@tnsp.org>
parents: 46
diff changeset
103 hg-tar:
b556bdc2a365 Add 'hg-tar' target for making a tarball from the Mercurial repository.
Matti Hamalainen <ccr@tnsp.org>
parents: 46
diff changeset
104 hg archive -t tgz $(PACKAGE).tar.gz
b556bdc2a365 Add 'hg-tar' target for making a tarball from the Mercurial repository.
Matti Hamalainen <ccr@tnsp.org>
parents: 46
diff changeset
105
23
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
106 .dummy:
c3622b53a23e Clean up the build system.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
107