#
# dvdspanky makefile - a makefile for dvdspanky
# Copyright (C) 2007  Jeffrey Grembecki
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#

include make.in

SHELL=/bin/sh
CC=gcc
CXX=g++
FILES=configure dvdspanky.c dvdspanky.h vstr.c vstr.h dvdspanky.1 \
	CVS distr \
	pkgbuild.in scratchpad Makefile CHANGELOG COPYING README TODO

ifdef DEBUG
	FLAGS=-g -Wall -c $(INCCFLAGS)
	LIBS=$(INCLIBS)
else
	ifdef CFLAGS
		FLAGS=-Wall -c $(INCCFLAGS) $(CFLAGS)
	else
		FLAGS=-O2 -Wall -c $(INCCFLAGS)
	endif
	LIBS=-s $(INCLIBS)
endif

all: dvdspanky dvdspanky.1.gz

make.in: configure
	./configure

dvdspanky.1.gz: dvdspanky.1
	gzip -c dvdspanky.1 > dvdspanky.1.gz

vstr.o: vstr.c vstr.h
	$(CC) $(FLAGS) vstr.c -o vstr.o

dvdspanky.o: dvdspanky.c dvdspanky.h vstr.h config.h
	$(CC) $(FLAGS) dvdspanky.c -o dvdspanky.o

dvdspanky: dvdspanky.o vstr.o
	$(CC) dvdspanky.o vstr.o -o dvdspanky $(LIBS)

install: dvdspanky
	install -m 755 dvdspanky -D $(DESTDIR)$(PREFIX)/bin/dvdspanky
	install -m 644 dvdspanky.1.gz -D $(DESTDIR)$(PREFIX)/man/man1/dvdspanky.1.gz

clean:
	rm -f *.o dvdspanky dvdspanky.1.gz

dist: $(FILES)
	rm -rf dvdspanky-$(VERSION)
	mkdir -p dvdspanky-$(VERSION)/distr
	cp -r $(FILES) dvdspanky-$(VERSION)/
	fakeroot tar -zcf distr/dvdspanky-$(VERSION).tar.gz dvdspanky-$(VERSION)/*
	rm -rf dvdspanky-$(VERSION)
	md5sum distr/dvdspanky-$(VERSION).tar.gz > distr/dvdspanky-$(VERSION).md5
	cat pkgbuild.in | sed -r 's/^pkgver=.*/pkgver=$(VERSION)/' | sed -r "s/^md5sums=.*/md5sums=('$$(md5sum distr/dvdspanky-$(VERSION).tar.gz | awk '{print $$1}')')/" > PKGBUILD
	fakeroot tar -zcf distr/dvdspanky-$(VERSION)-pkgbuild.tar.gz PKGBUILD

distclean:
	rm -rf tmp-distclean
	mkdir tmp-distclean
	rm -f distr/dvd*
	mv $(FILES) tmp-distclean/
	ls | grep -v 'tmp-distclean' | xargs rm -rf
	mv tmp-distclean/* ./
	rm -rf tmp-distclean

