#XMMSPIPE Makefile
#Ben Lynn

#Installation directory
#
#I use this one:
INSTALLPATH=$(HOME)/.xmms/Plugins/General
#
#Use this one instead to install to the system XMMS plugin directory:
#INSTALLPATH=`xmms-config --general-plugin-dir`

VERSION := 0.5.4
CC=gcc
COPT=-O2 -Wall -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math
CFLAGS = $(COPT) `xmms-config --cflags` -D_REENTRANT

ALLFILES=*.c *.h Makefile LICENSE README HISTORY COMMANDS
BINARIES=xmmspipe.so fade

target: version.h $(BINARIES)

OBJS=about.o config.o jumptable.o pipe.o common.o \
	in.o out.o ack.o control.o

version.h : Makefile
	echo '#define VERSION_STRING "'$(VERSION)'"' > version.h
	echo '#define PLUGIN_NAME "Pipe Control " VERSION_STRING' >> version.h

xmmspipe.so: $(OBJS) xmmspipe.o
	$(CC) -shared -o $@ $^

$(OBJS): %.o: %.c %.h
	$(CC) $(CFLAGS) -c $< -fPIC

xmmspipe.o : xmmspipe.c
	$(CC) $(CFLAGS) -c $< -fPIC

fade: fade.c
	$(CC) $(COPT) -o $@ $^

xmmspipe-js: xmmspipe-js.c
	$(CC) -shared -o xmmspipe.so $(CFLAGS) $^ -fPIC

projname := xmmspipe-$(VERSION)

dist: $(ALLFILES)
	-rm -rf $(projname)
	mkdir $(projname)
	cp -rl --parents $(ALLFILES) $(projname)
	tar chfz $(projname).tgz $(projname)
	-rm -rf $(projname)

clean:
	-rm -rf *.o $(BINARIES) version.h

install: $(BINARIES)
	install -D xmmspipe.so $(INSTALLPATH)/xmmspipe.so

uninstall:
	-rm $(INSTALLPATH)/xmmspipe.so
