1# Makefile for Entombed!
2
3# by Bill Kendrick
4# bill@newbreedsoftware.com
5# http://www.newbreedsoftware.com/entombed/
6
7# May 19, 2002 - June 29, 2007
8
9
10# User-definable stuff:
11
12BIN_PREFIX=/usr/local/bin/
13DATA_PREFIX=/usr/local/share/entombed/
14
15
16# Defaults for Linux:
17
18TARGET=entombed
19TARGET_DEF=LINUX
20SDL_CFLAGS := $(shell sdl-config --cflags)
21SDL_LDFLAGS := $(shell sdl-config --libs)
22CC=cc
23
24# Sound-related definitions:
25
26MIXER=-lSDL_mixer
27IMAGE=-lSDL_image
28NOSOUNDFLAG=__SOUND
29SIZEFLAG=__NOHALFSIZE
30
31# Stuff we pass to the compiler:
32
33CFLAGS=-Wall -D$(SIZEFLAG) $(SDL_CFLAGS) \
34	-DDATA_PREFIX=\"$(DATA_PREFIX)\" -D$(NOSOUNDFLAG) -D$(TARGET_DEF)
35SDL_LIB=$(MIXER) $(IMAGE) $(SDL_LDFLAGS)
36
37
38# Make commands:
39
40all:	$(TARGET)
41
42install:
43	mkdir -p $(DATA_PREFIX)
44	cp -r data/images $(DATA_PREFIX)
45	cp -r data/music $(DATA_PREFIX)
46	cp -r data/sounds $(DATA_PREFIX)
47	chown -R root.root $(DATA_PREFIX)
48	chmod -R a+rX,g-w,o-w $(DATA_PREFIX)
49	cp entombed $(BIN_PREFIX)
50	chown root.root $(BIN_PREFIX)/entombed
51	chmod a+rx,g-w,o-w $(BIN_PREFIX)/entombed
52
53install_halfsize:
54	mkdir -p $(DATA_PREFIX)
55	mkdir -p $(DATA_PREFIX)/images
56	cp -r data/images_halfsize/* $(DATA_PREFIX)/images
57	cp -r data/music $(DATA_PREFIX)
58	cp -r data/sounds $(DATA_PREFIX)
59	chown -R root.root $(DATA_PREFIX)
60	chmod -R a+rX,g-w,o-w $(DATA_PREFIX)
61	cp entombed $(BIN_PREFIX)
62	chown root.root $(BIN_PREFIX)/entombed
63	chmod a+rx,g-w,o-w $(BIN_PREFIX)/entombed
64
65
66nosound:
67	make $(TARGET) MIXER= NOSOUNDFLAG=NOSOUND
68
69win32:
70	make TARGET_DEF=WIN32 TARGET=entombed.exe \
71		DATA_PREFIX=data/ IMAGE="-lSDL_image -lpng -lz"
72	cp /usr/local/cross-tools/i386-mingw32/lib/SDL*.dll .
73	chmod 644 SDL*.dll
74
75halfsize:
76	make SIZEFLAG=HALFSIZE
77
78embedded:
79	make TARGET_DEF=EMBEDDED MIXER= \
80		DATA_PREFIX=/opt/QtPalmtop/share/entombed/ \
81		SDL_LIB="/usr/local/arm/lib/libSDL_mixer.a /usr/local/arm/lib/libSDL.a -L/opt/Qtopia/sharp/lib -lpthread -lqpe -lqte" \
82		CC=/usr/local/arm/bin/arm-linux-gcc
83	/usr/local/arm/bin/arm-linux-strip ${TARGET}
84
85emtest:
86	make $(TARGET) TARGET_DEF=EMBEDDED DATA_PREFIX=e/
87
88clean:
89	-rm entombed entombed.exe
90	-rm obj/*.o
91	-rmdir obj
92	-rm SDL*.dll
93
94
95# Main executable:
96
97$(TARGET):	obj/entombed.o
98	$(CC) $(CFLAGS) obj/entombed.o -o $(TARGET) $(SDL_LIB) -lm
99
100
101# Main object:
102
103obj/entombed.o:	src/entombed.c
104	-mkdir obj
105	$(CC) $(CFLAGS) src/entombed.c -c -o obj/entombed.o
106
107