JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
made "make install" work for non-root users
[vor.git] / Makefile
index 650a98b..a3c3847 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,7 @@
 DATA_PREFIX := /usr/share/vor
 PROGRAM_PREFIX := /usr/games/bin
 
-CFLAGS := -Wall -ggdb
+CFLAGS := -Wall -O3
 LDFLAGS := 
 
 paths := -DDATA_PREFIX=\"$(DATA_PREFIX)\"
@@ -28,9 +28,9 @@ 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 := args.o dust.o file.o mt.o rocks.o score.o sprite.o sound.o autopilot.o
 my_objects += main.o
-libs := SFont.o
+libs := font.o
 objects := $(libs) $(my_objects)
 
 rocks := 00 01 02 03 04 05 06 07 08 09
@@ -38,11 +38,11 @@ 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)
+rocks := $(rocks:%=data/rock%.png)
+graphics := data/ship.png data/icon.png data/life.png data/font.png $(rocks)
 
 INSTALL := install
-INSTALL_PROGRAM := $(INSTALL) -o games -g games
+INSTALL_PROGRAM := $(INSTALL) $(shell sh -c 'test "$$UID" "=" "0" && echo "-o games -g games"')
 INSTALL_DATA := $(INSTALL) -m 644
 
 
@@ -51,6 +51,8 @@ INSTALL_DATA := $(INSTALL) -m 644
 .PHONY: program program-clean install-program uninstall-program
 .PHONY: data data-clean install-data uninstall-data
 
+.INTERMEDIATE: font_guts font_guts.pov
+
 all: program data
 
 data: $(graphics)
@@ -63,19 +65,19 @@ program: vor
 
 $(my_objects): config.h
 
-SFont.o: SFont.h
+font.o: font.h
 
 args.o: args.h
 
-dust.o: globals.h dust.h mt.h
+dust.o: globals.h dust.h float.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
+main.o: args.h common.h dust.h file.h float.h globals.h mt.h rocks.h score.h sprite.h sound.h autopilot.h
 
 mt.o: mt.h
 
-rocks.o: rocks.h common.h file.h globals.h mt.h
+rocks.o: rocks.h common.h file.h globals.h mt.h sprite.h
 
 score.o: score.h common.h file.h
 
@@ -85,7 +87,7 @@ sprite.o: sprite.h common.h
 
 vor: $(objects)
        @echo linking $@ from $^
-       @$(CC) $(ldflags) -o $@ $^ $(LIBRARIES)
+       @$(CC) $^ $(ldflags) -o $@
 
 include gfx.mk
 
@@ -101,26 +103,12 @@ program-clean:
        rm -f *.o vor
 
 data-clean:
-       rm -f $(graphics)
+       rm -f $(graphics) font_guts font_guts.pov
 
 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
@@ -129,13 +117,12 @@ 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/
-       $(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/
+       $(INSTALL_DATA) ./data/*.png $(DATA_PREFIX)/
+       $(INSTALL_DATA) ./data/*.wav $(DATA_PREFIX)/
+       $(INSTALL_DATA) ./data/*.xm $(DATA_PREFIX)/
+       @echo
+       @echo "$(DATA_PREFIX)/icon.png (48x48) or ship.png (32x32) make good icons."
+       @echo
 
 uninstall: uninstall-program uninstall-data rminstalldirs
 
@@ -143,11 +130,6 @@ uninstall-program:
        rm -f $(PROGRAM_PREFIX)/vor
 
 uninstall-data:
-       rm -f $(DATA_PREFIX)/banners/*
-       rm -f $(DATA_PREFIX)/fonts/*
-       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
+       rm -f $(DATA_PREFIX)/*.png
+       rm -f $(DATA_PREFIX)/*.wav
+       rm -f $(DATA_PREFIX)/*.xm