# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-ldflags := $(shell sdl-config --libs) -lSDL_image -lSDL_mixer
-cflags := $(shell sdl-config --cflags) -Wall -DDEBUG=$(if $(DEBUG),1,0)
-cflags := $(strip $(cflags))
-cflags += $(CFLAGS)
+DATA_PREFIX := /usr/share/vor
+PROGRAM_PREFIX := /usr/games/bin
-my_objects := args.o file.o rocks.o score.o shape.o sound.o
-my_objects += $(if $(DEBUG),debug.o) main.o
+CFLAGS := -Wall -O3
+LDFLAGS :=
+
+paths := -DDATA_PREFIX=\"$(DATA_PREFIX)\"
+sdl-cflags := $(shell sdl-config --cflags)
+sdl-ldflags := $(shell sdl-config --libs)
+
+ldflags := $(sdl-ldflags) -lSDL_image -lSDL_mixer $(LDFLAGS)
+cflags := $(sdl-cflags) $(paths) $(CFLAGS)
+
+my_objects := args.o dust.o file.o mt.o rocks.o score.o sprite.o sound.o
+my_objects += main.o
libs := SFont.o
objects := $(libs) $(my_objects)
rocks += 20 21 22 23 24 25 26 27 28 29
rocks += 30 31 32 33 34 35 36 37 38 39
rocks += 40 41 42 43 44 45 46 47 48 49
+rocks := $(rocks:%=data/rock%.png)
+graphics := data/ship.png data/life.png $(rocks)
-graphics := data/sprites/ship.png data/indicators/life.png $(rocks:%=data/sprites/rock%.png)
-
-INSTALL = install
-INSTALL_PROGRAM = $(INSTALL) -o games -g games
-INSTALL_DATA = $(INSTALL) -m 644
-
-DATA_PREFIX = /usr/share/vor
-PROGRAM_PREFIX = /usr/games/bin
+INSTALL := install
+INSTALL_PROGRAM := $(INSTALL) -o games -g games
+INSTALL_DATA := $(INSTALL) -m 644
.PHONY: all clean maintainer-clean install uninstall
program: vor
%.o: %.c
- $(CC) $(cflags) -c -o $@ $<
+ @echo compiling $@ from $<
+ @$(CC) $(cflags) -c -o $@ $<
$(my_objects): config.h
-main.o file.o: file.h
+SFont.o: SFont.h
+
+args.o: args.h
+
+dust.o: globals.h dust.h mt.h
+
+file.o: file.h common.h
+
+main.o: args.h common.h dust.h file.h globals.h mt.h rocks.h score.h sprite.h sound.h
+
+mt.o: mt.h
+
+rocks.o: rocks.h common.h file.h globals.h mt.h sprite.h
+
+score.o: score.h common.h file.h
+
+sound.o: sound.h args.h common.h
+
+sprite.o: sprite.h common.h
vor: $(objects)
- $(CC) $(ldflags) -o $@ $^ $(LIBRARIES)
+ @echo linking $@ from $^
+ @$(CC) $^ $(ldflags) -o $@
include gfx.mk
+tags: *.c *.h
+ exuberant-ctags *.c *.h /usr/include/SDL/*
+
clean: program-clean
+ rm -f tags
maintainer-clean: program-clean data-clean
mkinstalldirs:
if [ ! -d $(DATA_PREFIX) ]; then mkdir $(DATA_PREFIX); fi
- if [ ! -d $(DATA_PREFIX)/banners ]; then mkdir $(DATA_PREFIX)/banners; fi
- if [ ! -d $(DATA_PREFIX)/fonts ]; then mkdir $(DATA_PREFIX)/fonts; fi
if [ ! -d $(DATA_PREFIX)/icons ]; then mkdir $(DATA_PREFIX)/icons; fi
- if [ ! -d $(DATA_PREFIX)/indicators ]; then mkdir $(DATA_PREFIX)/indicators; fi
- if [ ! -d $(DATA_PREFIX)/music ]; then mkdir $(DATA_PREFIX)/music; fi
- if [ ! -d $(DATA_PREFIX)/sounds ]; then mkdir $(DATA_PREFIX)/sounds; fi
- if [ ! -d $(DATA_PREFIX)/sprites ]; then mkdir $(DATA_PREFIX)/sprites; fi
rminstalldirs:
- if [ -d $(DATA_PREFIX)/banners ]; then rmdir $(DATA_PREFIX)/banners; fi
- if [ -d $(DATA_PREFIX)/fonts ]; then rmdir $(DATA_PREFIX)/fonts; fi
if [ -d $(DATA_PREFIX)/icons ]; then rmdir $(DATA_PREFIX)/icons; fi
- if [ -d $(DATA_PREFIX)/indicators ]; then rmdir $(DATA_PREFIX)/indicators; fi
- if [ -d $(DATA_PREFIX)/music ]; then rmdir $(DATA_PREFIX)/music; fi
- if [ -d $(DATA_PREFIX)/sounds ]; then rmdir $(DATA_PREFIX)/sounds; fi
- if [ -d $(DATA_PREFIX)/sprites ]; then rmdir $(DATA_PREFIX)/sprites; fi
if [ -d $(DATA_PREFIX) ]; then rmdir $(DATA_PREFIX); fi
install: all mkinstalldirs install-program install-data
$(INSTALL_PROGRAM) ./vor $(PROGRAM_PREFIX)
install-data: data
- $(INSTALL_DATA) ./data/banners/* $(DATA_PREFIX)/banners/
- $(INSTALL_DATA) ./data/fonts/* $(DATA_PREFIX)/fonts/
+ $(INSTALL_DATA) ./data/*.png $(DATA_PREFIX)/
+ $(INSTALL_DATA) ./data/*.wav $(DATA_PREFIX)/
+ $(INSTALL_DATA) ./data/*.mod $(DATA_PREFIX)/
$(INSTALL_DATA) ./data/icons/* $(DATA_PREFIX)/icons/
- $(INSTALL_DATA) ./data/indicators/* $(DATA_PREFIX)/indicators/
- $(INSTALL_DATA) ./data/music/* $(DATA_PREFIX)/music/
- $(INSTALL_DATA) ./data/sounds/* $(DATA_PREFIX)/sounds/
- $(INSTALL_DATA) ./data/sprites/* $(DATA_PREFIX)/sprites/
- touch $(DATA_PREFIX)/scores
- chmod a+rw $(DATA_PREFIX)/scores
uninstall: uninstall-program uninstall-data rminstalldirs
rm -f $(PROGRAM_PREFIX)/vor
uninstall-data:
- rm -f $(DATA_PREFIX)/banners/*
- rm -f $(DATA_PREFIX)/fonts/*
+ rm -f $(DATA_PREFIX)/*.png
+ rm -f $(DATA_PREFIX)/*.wav
+ rm -f $(DATA_PREFIX)/*.mod
rm -f $(DATA_PREFIX)/icons/*
- rm -f $(DATA_PREFIX)/indicators/*
- rm -f $(DATA_PREFIX)/music/*
- rm -f $(DATA_PREFIX)/sounds/*
- rm -f $(DATA_PREFIX)/sprites/*
- rm -f $(DATA_PREFIX)/scores $(DATA_PREFIX)/.highscore