# Makefile for gxmms2 and gkrellxmms2

# Installation directory
PREFIX=/usr/local
KRELLPREFIX=/usr

ALLFILES=gkrellxmms2/*.c gkrellxmms2/*.h gkrellxmms2/*.xpm gmedialib/*.c gmedialib/*.h gmedialib/*.xpm gtrackinfo/*.c gtrackinfo/*.h gxmms2src/*.c gxmms2src/*.h gxmms2src/*.xpm sdecode/*.c sdecode/*.h xmms2ctrl/*.c xmms2ctrl/*.h Makefile README COPYING CHANGELOG

GTK_CFLAGS=$(shell pkg-config gtk+-2.0 --cflags)
GTK_LIB=$(shell pkg-config gtk+-2.0 --libs)
XMMS2_CFLAGS=$(shell pkg-config xmms2-client xmms2-client-glib --cflags)
XMMS2_LIB=$(shell pkg-config xmms2-client xmms2-client-glib --libs)

CFLAGS ?= -O2
CFLAGS := -Wall -fPIC $(GTK_CFLAGS) $(XMMS2_CFLAGS) -I. $(CFLAGS)
LIBS = $(GTK_LIB) $(XMMS2_LIB)

KRELLLFLAGS=-shared

CC ?= gcc

OBJS=gxmms2src/gxmms2.o xmms2ctrl/xmms2ctrl.o gtrackinfo/trackinfo.o gtrackinfo/gtrackinfo.o gmedialib/gmlplaylist.o gmedialib/gmedialib.o gmedialib/gmlbrowser.o gmedialib/gmlsearch.o gmedialib/gmlplaylists.o gmedialib/gmladdfiles.o sdecode/sdecode.o gxmms2src/wejpscroller.o gxmms2src/statusdisplay.o gxmms2src/wejpvolume.o gxmms2src/wejpconfig.o gxmms2src/eggtrayicon.o

KRELLOBJS=gkrellxmms2/gkrellxmms2.o xmms2ctrl/xmms2ctrl.o gtrackinfo/trackinfo.o gtrackinfo/gtrackinfo.o gmedialib/gmedialib.o gmedialib/gmlplaylist.o gmedialib/gmlbrowser.o gmedialib/gmlsearch.o gmedialib/gmlplaylists.o gmedialib/gmladdfiles.o sdecode/sdecode.o gkrellxmms2/buttons.o gkrellxmms2/setupwidget.o

PROJNAME=gxmms2-$(shell awk '/define VERSION_NUMBER/ { print $$3 }' gxmms2src/gxmms2.c )

all: gxmms2 gkrellxmms2

gxmms2: $(OBJS)
	$(CC) $(LDFLAGS) $(OBJS) -o gxmms2 $(LIBS)

gkrellxmms2: $(KRELLOBJS)
	$(CC) $(LDFLAGS) $(KRELLOBJS) -o gkrellxmms2.so $(KRELLLFLAGS) $(LIBS)

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

clean:
	rm -f $(OBJS) $(KRELLOBJS) core *.so* *.bak *~ gxmms2

%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $<

install: install_gxmms2 install_gkrellxmms2

install_gxmms2:
	install -D gxmms2 $(PREFIX)/bin/gxmms2
	install -D -m 644 gxmms2src/gxmms2_mini.xpm $(PREFIX)/share/gxmms2/gxmms2_mini.xpm
	install -D -m 644 README $(PREFIX)/share/gxmms2/README
	install -D -m 644 COPYING $(PREFIX)/share/gxmms2/COPYING

install_gkrellxmms2:
	install -D gkrellxmms2.so $(KRELLPREFIX)/lib/gkrellm2/plugins/gkrellxmms2.so
	install -D -m 644 README $(KRELLPREFIX)/share/gkrellxmms2/README
	install -D -m 644 COPYING $(KRELLPREFIX)/share/gkrellxmms2/COPYING

uninstall: uninstall_gxmms2 uninstall_gkrellxmms2

uninstall_gxmms2:
	-rm $(PREFIX)/bin/gxmms2
	-rm -rf $(PREFIX)/share/gxmms2/

uninstall_gkrellxmms2:
	-rm $(KRELLPREFIX)/lib/gkrellm2/plugins/gkrellxmms2.so
	-rm -rf $(KRELLPREFIX)/share/gkrellxmms2/
