# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-VERSION=0.1
-PACKAGENAME=vor
-NEWD=$(PACKAGENAME)-$(VERSION)
-TMP=/tmp
-OPTIONS=-DVERSION=\"$(VERSION)\"
-SOUNDSOURCE=sound
+debug := $(if $(DEBUG),1,0)
+ldflags := $(shell sdl-config --libs) -lSDL_image -lSDL_mixer
+cflags := $(shell sdl-config --cflags) -Wall -DDEBUG=$(debug)
-SOUNDLIBRARIES=-lSDL_mixer
+my_objects := file.o score.o sound.o main.o $(if $(DEBUG),debug.o)
+libs := SFont.o
+objects := $(libs) $(my_objects)
-LIBRARIES=`sdl-config --libs` -lSDL_image $(SOUNDLIBRARIES)
+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
INSTALL = install
INSTALL_PROGRAM = $(INSTALL) -o games -g games
DATA_PREFIX = /usr/share/vor
PROGRAM_PREFIX = /usr/games/bin
-all: vor
-.c.o:
- cc -c -g $? `sdl-config --cflags` $(OPTIONS)
+all: vor $(graphics)
-vor: SFont.o $(SOUNDSOURCE).o main.o
- cc -o $@ $+ $(LIBRARIES)
+%.o: %.c
+ $(CC) $(cflags) -c -o $@ $<
+
+$(my_objects): config.h
+
+main.o file.o: file.h
+
+vor: $(objects)
+ $(CC) $(ldflags) -o $@ $^ $(LIBRARIES)
+
+pnmoutline: pnmoutline.c
+ $(CC) -lnetpbm -o $@ $<
+
+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 <ship.pnm >data/sprites/ship.pnm
+ pnmtopng -transparent =white data/sprites/ship.pnm >$@
+ rm ship.png ship.pnm data/sprites/ship.pnm
+
+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
clean:
- rm -f *.o vor
+ rm -f *.o vor pnmoutline data/sprites/ship.png
install: all
if [ ! -d $(DATA_PREFIX) ]; then mkdir $(DATA_PREFIX); fi
$(INSTALL_DATA) ./data/music/* $(DATA_PREFIX)/music/
$(INSTALL_DATA) ./data/sounds/* $(DATA_PREFIX)/sounds/
$(INSTALL_DATA) ./data/sprites/* $(DATA_PREFIX)/sprites/
- touch $(DATA_PREFIX)/.highscore
- chmod a+rw $(DATA_PREFIX)/.highscore
+ touch $(DATA_PREFIX)/scores
+ chmod a+rw $(DATA_PREFIX)/scores
uninstall:
rm -f $(PROGRAM_PREFIX)/vor
rm -f $(DATA_PREFIX)/music/*
rm -f $(DATA_PREFIX)/sounds/*
rm -f $(DATA_PREFIX)/sprites/*
- rm -f $(DATA_PREFIX)/.highscore
+ 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