X-Git-Url: https://jasonwoof.com/gitweb/?p=vor.git;a=blobdiff_plain;f=Makefile;h=f8f4dd79d84c16a81fb34e63eaf6cc2e14dd7694;hp=023fbeac58ebad57a97a51df8258f04ccb6d724d;hb=2b5dd5bc0eb1739dd744de6f565d0f3a7ae02c95;hpb=b2f8ec6419b4427517395da7ff62027680cc500a diff --git a/Makefile b/Makefile index 023fbea..f8f4dd7 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -# Rock Dodger! Avoid the rocks as long as you can! -# Copyright (C) 2001 Paul Holt +# Variations on Rockdodger +# Copyright (C) 2004 Joshua Grams # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -15,56 +15,77 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -debug := $(if $(DEBUG),1,0) -ldflags := $(shell sdl-config --libs) -lSDL_image -lSDL_mixer -cflags := $(shell sdl-config --cflags) -Wall -DDEBUG=$(debug) +DATA_PREFIX := /usr/share/vor +PROGRAM_PREFIX := /usr/games/bin -my_objects := file.o score.o sound.o main.o $(if $(DEBUG),debug.o) +CFLAGS := -Wall +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 shape.o sound.o +my_objects += main.o libs := SFont.o objects := $(libs) $(my_objects) -graphics := data/sprites/ship.png data/sprites/rock00.png data/sprites/rock01.png data/sprites/rock02.png data/sprites/rock03.png data/sprites/rock04.png data/sprites/rock05.png data/sprites/rock06.png data/sprites/rock07.png data/sprites/rock08.png data/sprites/rock09.png data/sprites/rock10.png data/sprites/rock11.png data/sprites/rock12.png data/sprites/rock13.png data/sprites/rock14.png data/sprites/rock15.png data/sprites/rock16.png data/sprites/rock17.png data/sprites/rock18.png data/sprites/rock19.png data/sprites/rock20.png data/sprites/rock21.png data/sprites/rock22.png data/sprites/rock23.png data/sprites/rock24.png data/sprites/rock25.png data/sprites/rock26.png data/sprites/rock27.png data/sprites/rock28.png data/sprites/rock29.png data/sprites/rock30.png data/sprites/rock31.png data/sprites/rock32.png data/sprites/rock33.png data/sprites/rock34.png data/sprites/rock35.png data/sprites/rock36.png data/sprites/rock37.png data/sprites/rock38.png data/sprites/rock39.png data/sprites/rock40.png data/sprites/rock41.png data/sprites/rock42.png data/sprites/rock43.png data/sprites/rock44.png data/sprites/rock45.png data/sprites/rock46.png data/sprites/rock47.png data/sprites/rock48.png data/sprites/rock49.png +rocks := 00 01 02 03 04 05 06 07 08 09 +rocks += 10 11 12 13 14 15 16 17 18 19 +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/sprites/rock%.png) +graphics := data/sprites/ship.png data/indicators/life.png $(rocks) + +INSTALL := install +INSTALL_PROGRAM := $(INSTALL) -o games -g games +INSTALL_DATA := $(INSTALL) -m 644 -INSTALL = install -INSTALL_PROGRAM = $(INSTALL) -o games -g games -INSTALL_DATA = $(INSTALL) -m 644 -DATA_PREFIX = /usr/share/vor -PROGRAM_PREFIX = /usr/games/bin +.PHONY: all clean maintainer-clean install uninstall +.PHONY: mkinstalldirs rminstalldirs +.PHONY: program program-clean install-program uninstall-program +.PHONY: data data-clean install-data uninstall-data +all: program data -all: vor $(graphics) +data: $(graphics) + +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 vor: $(objects) - $(CC) $(ldflags) -o $@ $^ $(LIBRARIES) + @echo linking $@ from $^ + @$(CC) $(ldflags) -o $@ $^ $(LIBRARIES) + +include gfx.mk -pnmoutline: pnmoutline.c - $(CC) -lnetpbm -o $@ $< +tags: *.c *.h + exuberant-ctags *.c *.h /usr/include/SDL/* -data/sprites/ship.png: ship.pov pnmoutline Makefile - povray -GA -D +A +UA +W32 +H32 $< >/dev/null 2>/dev/null - pngtopnm ship.png >ship.pnm - ./pnmoutline data/sprites/ship.pnm - pnmtopng -transparent =white data/sprites/ship.pnm >$@ - rm ship.png ship.pnm data/sprites/ship.pnm +clean: program-clean + rm -f tags -data/sprites/rock%.png: rocks.pov Makefile - povray -Irocks.pov -D +H52 +W52 +K`echo "$@" | grep -o '[0-9][0-9]'` +Fp -O$@.pnm - pnmcrop < $@.pnm > $@-c.pnm - pnmtopng -transparent black < $@-c.pnm > $@ - rm $@.pnm $@-c.pnm +maintainer-clean: program-clean data-clean -clean: - rm -f *.o vor pnmoutline $(graphics) +program-clean: + rm -f *.o vor -install: all +data-clean: + rm -f $(graphics) + +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 @@ -74,7 +95,22 @@ install: all 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: program $(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/icons/* $(DATA_PREFIX)/icons/ @@ -82,11 +118,13 @@ install: all $(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: uninstall-program uninstall-data rminstalldirs + +uninstall-program: rm -f $(PROGRAM_PREFIX)/vor + +uninstall-data: rm -f $(DATA_PREFIX)/banners/* rm -f $(DATA_PREFIX)/fonts/* rm -f $(DATA_PREFIX)/icons/* @@ -94,13 +132,4 @@ uninstall: rm -f $(DATA_PREFIX)/music/* rm -f $(DATA_PREFIX)/sounds/* rm -f $(DATA_PREFIX)/sprites/* - rm -f $(DATA_PREFIX)/scores $(DATA_PREFIX)/.highscore - - 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 + rm -f $(DATA_PREFIX)/scores