JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
make clean now deletes the rock pngs as it should.
[vor.git] / Makefile
index 2c04a71..023fbea 100644 (file)
--- a/Makefile
+++ b/Makefile
 #   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.4.2
-PACKAGENAME=rockdodger
-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
 INSTALL_DATA = $(INSTALL) -m 644
 
-DATA_PREFIX = /usr/share/rockdodger
+DATA_PREFIX = /usr/share/vor
 PROGRAM_PREFIX = /usr/games/bin
 
-all:   rd
 
-.c.o:
-       cc -c -g $? `sdl-config --cflags` $(OPTIONS)
+all: vor $(graphics)
 
-rd:    SFont.o $(SOUNDSOURCE).o main.o
-       cc -o rd $+ $(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 rd
+       rm -f *.o vor pnmoutline $(graphics)
 
 install:       all
        if [ ! -d $(DATA_PREFIX) ]; then mkdir $(DATA_PREFIX); fi
@@ -54,7 +74,7 @@ install:      all
        if [ ! -d $(DATA_PREFIX)/sounds ]; then mkdir $(DATA_PREFIX)/sounds; fi
        if [ ! -d $(DATA_PREFIX)/sprites ]; then mkdir $(DATA_PREFIX)/sprites; fi
 
-       $(INSTALL_PROGRAM) ./rd $(PROGRAM_PREFIX)
+       $(INSTALL_PROGRAM) ./vor $(PROGRAM_PREFIX)
        $(INSTALL_DATA) ./data/banners/* $(DATA_PREFIX)/banners/
        $(INSTALL_DATA) ./data/fonts/* $(DATA_PREFIX)/fonts/
        $(INSTALL_DATA) ./data/icons/* $(DATA_PREFIX)/icons/
@@ -62,11 +82,11 @@ 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)/.highscore
-       chmod a+rw $(DATA_PREFIX)/.highscore
+       touch $(DATA_PREFIX)/scores
+       chmod a+rw $(DATA_PREFIX)/scores
 
 uninstall:
-       rm -f $(PROGRAM_PREFIX)/rd
+       rm -f $(PROGRAM_PREFIX)/vor
        rm -f $(DATA_PREFIX)/banners/*
        rm -f $(DATA_PREFIX)/fonts/*
        rm -f $(DATA_PREFIX)/icons/*
@@ -74,7 +94,7 @@ uninstall:
        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