PROGRAM = glpuzzle

CXXFLAGS = -O2 -Wall
INCLFLAGS = -I/usr/include/SDL
LIBSFLAGS = -lpthread -lGL -lpthread -lpng -ljpeg -lSDL
SOURCES = main.cxx Screen.cxx Texture.cxx Loader.cxx

ENABLE_SOUND = 1

PREFIX ?= /usr/local

ifeq ($(ENABLE_SOUND),1)
	CXXFLAGS += -DENABLE_SOUND
	LIBSFLAGS += -lSDL_mixer
endif

all: $(PROGRAM) README


DEPENDS = $(SOURCES:.cxx=.d)
OBJECTS = $(SOURCES:.cxx=.o)

include VERSION
include $(DEPENDS)

VERSION: main.cxx
	echo VERSION=`grep version main.cxx | head -1| sed 's/.*version //'` > VERSION

version.hxx: main.cxx
	echo "/* do not edit, edit main.cxx instead */" > version.hxx
	echo \#define VERSIONSTR \"`grep version main.cxx | head -1| sed 's/.*version //'`\" >> version.hxx

clean:
	rm -f $(OBJECTS) $(DEPENDS) $(PROGRAM)

%.d: %.cxx
	@echo generating $@
	@g++ -M $(INCLFLAGS) $< -o $@.tmp
	@( cat $@.tmp ; cat $@.tmp | sed s/\.o:/.d:/ ) > $@
	@rm $@.tmp
	
%.o: %.cxx
	g++ -c $(CXXFLAGS) $(INCLFLAGS) $< -o $@ 

$(PROGRAM): $(OBJECTS) 
	g++ $(OBJECTS) $(LIBSFLAGS) -o $@

install: $(PROGRAM)
	@echo Installing in $(PREFIX)
	rm -rf $(PREFIX)/lib/$(PROGRAM)/
	mkdir -p $(PREFIX)/lib/$(PROGRAM)/
	cp -r font image sound puzzles $(PREFIX)/lib/$(PROGRAM)/
	cp $(PROGRAM) $(PREFIX)/lib/$(PROGRAM)/$(PROGRAM).bin
	echo -e '#!/bin/sh\n$(PREFIX)/lib/$(PROGRAM)/$(PROGRAM).bin $$*\n' > $(PREFIX)/bin/$(PROGRAM)
	chmod +x $(PREFIX)/bin/$(PROGRAM)

