X-Git-Url: https://jasonwoof.com/gitweb/?p=vor.git;a=blobdiff_plain;f=Makefile;h=6c0356ac29a0d5983cf37922edcddba975a96846;hp=d68150b647deff16417b774e2245ec81960f7dbd;hb=7981a2b8d152e6372aea8191f8c2197f866a450b;hpb=4461dfec6f8f09b43ec9719523d14978d82bd124 diff --git a/Makefile b/Makefile index d68150b..6c0356a 100644 --- a/Makefile +++ b/Makefile @@ -15,13 +15,21 @@ # 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) @@ -30,15 +38,12 @@ 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/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 @@ -53,18 +58,42 @@ 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 +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 @@ -76,22 +105,10 @@ 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 @@ -100,15 +117,10 @@ 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/*.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 @@ -116,11 +128,7 @@ uninstall-program: 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