# 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 README.gxmms2 README.gkrellxmms2 COPYING CHANGELOG

GTK_CFLAGS=`pkg-config gtk+-2.0 --cflags`
GTK_LIB=`pkg-config gtk+-2.0 --libs`
XMMS2_CFLAGS=`pkg-config xmms2-client xmms2-client-glib --cflags`
XMMS2_LIB=`pkg-config xmms2-client xmms2-client-glib --libs`

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

KRELLLFLAGS=-shared

CC=gcc

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

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

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

all: gxmms2 gkrellxmms2

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

gkrellxmms2: $(KRELLOBJS)
	$(CC) $(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 *.o core *.so* *.bak *~ gxmms2

gkrellxmms2.o:   gkrellxmms2/gkrellxmms2.c
	$(CC) $(CFLAGS) -c gkrellxmms2/gkrellxmms2.c
buttons.o:       gkrellxmms2/buttons.c
	$(CC) $(CFLAGS) -c gkrellxmms2/buttons.c
gxmms2.o:        gxmms2src/gxmms2.c
	$(CC) $(CFLAGS) -c gxmms2src/gxmms2.c
trackinfo.o:     gtrackinfo/trackinfo.c
	$(CC) $(CFLAGS) -c gtrackinfo/trackinfo.c
xmms2ctrl.o:     xmms2ctrl/xmms2ctrl.c
	$(CC) $(CFLAGS) -c xmms2ctrl/xmms2ctrl.c
gtrackinfo.o:    gtrackinfo/gtrackinfo.c
	$(CC) $(CFLAGS) -c gtrackinfo/gtrackinfo.c
gmedialib.o:     gmedialib/gmedialib.c
	$(CC) $(CFLAGS) -c gmedialib/gmedialib.c
gmlplaylist.o:   gmedialib/gmlplaylist.c
	$(CC) $(CFLAGS) -c gmedialib/gmlplaylist.c
gmlbrowser.o:    gmedialib/gmlbrowser.c
	$(CC) $(CFLAGS) -c gmedialib/gmlbrowser.c
gmlsearch.o:     gmedialib/gmlsearch.c
	$(CC) $(CFLAGS) -c gmedialib/gmlsearch.c
gmlplaylists.o:  gmedialib/gmlplaylists.c
	$(CC) $(CFLAGS) -c gmedialib/gmlplaylists.c
gmladdfiles.o:   gmedialib/gmladdfiles.c
	$(CC) $(CFLAGS) -c gmedialib/gmladdfiles.c
sdecode.o:       sdecode/sdecode.c
	$(CC) $(CFLAGS) -c sdecode/sdecode.c
wejpscroller.o:  gxmms2src/wejpscroller.c
	$(CC) $(CFLAGS) -c gxmms2src/wejpscroller.c
statusdisplay.o: gxmms2src/statusdisplay.c
	$(CC) $(CFLAGS) -c gxmms2src/statusdisplay.c
wejpvolume.o: gxmms2src/wejpvolume.c
	$(CC) $(CFLAGS) -c gxmms2src/wejpvolume.c
wejpconfig.o:    gxmms2src/wejpconfig.c
	$(CC) $(CFLAGS) -c gxmms2src/wejpconfig.c
eggtrayicon.o:   gxmms2src/eggtrayicon.c
	$(CC) $(CFLAGS) -c gxmms2src/eggtrayicon.c

install:
	install -D gxmms2 $(PREFIX)/bin/gxmms2
	install -D gxmms2src/gxmms2_mini.xpm $(PREFIX)/share/gxmms2/gxmms2_mini.xpm
	install -D README $(PREFIX)/share/gxmms2/README
	install -D README.gxmms2 $(PREFIX)/share/gxmms2/README.gxmms2
	install -D COPYING $(PREFIX)/share/gxmms2/COPYING
	install -D gkrellxmms2.so $(KRELLPREFIX)/lib/gkrellm2/plugins/gkrellxmms2.so
	install -D README $(KRELLPREFIX)/share/gkrellxmms2/README
	install -D README.gkrellxmms2 $(KRELLPREFIX)/share/gkrellxmms2/README.gkrellxmms2
	install -D COPYING $(KRELLPREFIX)/share/gkrellxmms2/COPYING

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

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

uninstall:
	-rm $(PREFIX)/bin/gxmms2
	-rm -rf $(PREFIX)/share/gxmms2/
	-rm $(KRELLPREFIX)/lib/gkrellm2/plugins/gkrellxmms2.so
	-rm -rf $(KRELLPREFIX)/share/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/
