23
|
1 ### Global settings
|
|
2 CFLAGS=-g -W -Wall -O3
|
|
3 LDFLAGS=
|
|
4
|
|
5 ### Subdirectories to build
|
|
6 SUBDIRS=pwplib peluce nykyaeka oldchsool pwpzax
|
0
|
7
|
23
|
8 ### Show some help
|
|
9 help:
|
|
10 @if test ! -f config.mak; then \
|
|
11 echo "PWPLib build system"; \
|
|
12 echo "Usage: make <target>"; \
|
|
13 echo ""; \
|
|
14 echo "sdl - LibSDL video/audio for POSIX style systems"; \
|
|
15 echo "unix - Terminal only POSIX style systems"; \
|
|
16 echo "linux - Like unix, but with Linux console and OSS audio support"; \
|
|
17 echo "hpux - HP-UX (untested now)"; \
|
|
18 echo "sdl-win32 - LibSDL for Win32, cross compilation via MinGW toolchain"; \
|
|
19 echo "sdl-win64 - Like above, but for Win64 via MinGW64"; \
|
|
20 echo ""; \
|
|
21 else \
|
|
22 echo "Configured as:"; \
|
|
23 cat config.mak; \
|
|
24 echo "To build: 'make all'"; \
|
|
25 echo "To reconfigure: 'make clean' or 'make <target>'"; \
|
|
26 fi
|
0
|
27
|
23
|
28 endianchk: endianchk.c
|
|
29 $(CC) -o $@ $<
|
0
|
30
|
23
|
31 config.mak:
|
|
32 @echo "" > $@
|
|
33 @echo "# Build target: $(XTARGET)" >> $@
|
|
34 @echo "CC=$(CC)" >> $@
|
|
35 @echo "CFLAGS=$(CFLAGS) $(XCFLAGS)" >> $@
|
|
36 @echo "LDFLAGS=$(LDFLAGS) $(XLDFLAGS)" >> $@
|
|
37 @echo "" >> $@
|
|
38
|
|
39 ### Build sub targets
|
|
40 all:
|
|
41 @for subdir in $(SUBDIRS); do $(MAKE) -C "$$subdir"; done
|
|
42
|
|
43 pwplib.a:
|
|
44 $(MAKE) -C pwplib
|
0
|
45
|
|
46 clean:
|
23
|
47 @for subdir in $(SUBDIRS); do $(MAKE) -C "$$subdir" clean; done
|
|
48 $(RM) config.mak endianchk
|
0
|
49
|
23
|
50 ### Major targets
|
|
51 unix: endianchk
|
|
52 $(RM) config.mak && endianflags=`./endianchk` && \
|
|
53 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX $$endianflags" XLDFLAGS="-lm" && \
|
|
54 $(MAKE) all
|
0
|
55
|
23
|
56 hpux:
|
|
57 $(RM) config.mak && \
|
|
58 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DBIG_ENDIAN -DDRIVE_HPUX" XLDFLAGS="-lm" && \
|
|
59 $(MAKE) all
|
0
|
60
|
23
|
61 linux: endianchk
|
|
62 $(RM) config.mak && endianflags=`./endianchk` && \
|
|
63 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DDRIVE_LINUXCON -DDRIVE_OSS $$endianflags" XLDFLAGS="-lm" && \
|
|
64 $(MAKE) all
|
0
|
65
|
23
|
66 sdl: endianchk
|
|
67 $(RM) config.mak && endianflags=`./endianchk` && \
|
|
68 $(MAKE) config.mak XTARGET="$@" XCFLAGS="-DUNIX -DDRIVE_SDL $$endianflags `sdl-config --cflags`" XLDFLAGS="`sdl-config --libs` -lm" && \
|
|
69 $(MAKE) all
|
0
|
70
|
23
|
71 sdl-win32: endianchk
|
|
72 $(RM) config.mak && \
|
|
73 $(MAKE) config.mak CC=i586-mingw32msvc-gcc AR=i586-mingw32msvc-ar \
|
|
74 XTARGET="$@" XCFLAGS="-DUNIX -DDRIVE_SDL `sdl-config --cflags`" XLDFLAGS="`sdl-config --libs`" && \
|
|
75 $(MAKE) all
|
0
|
76
|
23
|
77 .dummy:
|
|
78
|