]> icculus.org git repositories - crow/jumpnbump.git/blob - Makefile
Enabled support for gzip compressed levels and added support for bzip2 compressed...
[crow/jumpnbump.git] / Makefile
1 SDL_CFLAGS = `sdl-config --cflags`
2 SDL_LIBS = `sdl-config --libs`
3 CFLAGS = -Wall -O2 -ffast-math -funroll-loops -Dstricmp=strcasecmp \
4         -Dstrnicmp=strncasecmp -DUSE_SDL -DNDEBUG -I. $(SDL_CFLAGS) \
5         -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT
6 LIBS = -lm $(SDL_LIBS) -lSDL_mixer -lSDL_net -lbz2 -lz
7 SDL_TARGET = sdl.a
8 MODIFY_TARGET = gobpack jnbpack jnbunpack
9 OBJS = fireworks.o main.o menu.o filter.o
10 TARGET = jumpnbump
11 BINARIES = $(TARGET) jumpnbump.svgalib jumpnbump.fbcon $(MODIFY_TARGET) \
12         jnbmenu.tcl
13 PREFIX ?= /usr/local
14
15 .PHONY: data
16
17 all: $(BINARIES)
18
19 $(SDL_TARGET): globals.h
20         cd sdl && make
21
22 $(MODIFY_TARGET): globals.h
23         cd modify && make
24
25 $(TARGET): $(OBJS) $(SDL_TARGET) data globals.h
26         $(CC) -o $(TARGET) $(OBJS) $(LIBS) $(SDL_TARGET)
27
28 $(OBJS): globals.h
29
30 globals.h: globals.pre
31         sed -e "s#%%PREFIX%%#$(PREFIX)#g" < globals.pre > globals.h
32
33 jnbmenu.tcl: jnbmenu.pre
34         sed -e "s#%%PREFIX%%#$(PREFIX)#g" < jnbmenu.pre > jnbmenu.tcl
35
36 data: jnbpack
37         cd data && make
38
39 clean:
40         cd sdl && make clean
41         cd modify && make clean
42         cd data && make clean
43         rm -f $(TARGET) *.o globals.h jnbmenu.tcl
44
45 install:
46         mkdir -p $(PREFIX)/games/
47         mkdir -p $(PREFIX)/share/jumpnbump/
48         mkdir -p $(PREFIX)/share/man/man6/
49         install -o root -g games -m 755 $(BINARIES) $(PREFIX)/games/
50         install -o root -g games -m 644 data/jumpbump.dat \
51         $(PREFIX)/share/jumpnbump/jumpbump.dat
52         install -o root -g root -m 644 jumpnbump.6 $(PREFIX)/share/man/man6/
53
54 uninstall:
55         cd $(PREFIX)/games && rm -f $(BINARIES)
56         rm -rf $(PREFIX)/share/jumpnbump
57         rm -f $(PREFIX)/share/man/man6/jumpnbump.6
58
59 doc:
60         rman jumpnbump.6 -f HTML >jumpnbump.html