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