export CFLAGS=-g -O2 -Wall -pthread `gnome-config --cflags gnome gnomeui libglade glib`
export LDFLAGS=`gnome-config --libs gnome gnomeui libglade glib` `gtk-config --libs gtk gthread`

bindir=/usr/bin
libdir=/usr/lib/gnusound
moduledir=$(libdir)/modules
name=gnusound
clean_files=*.o core core.* $(name) ui/*.bak
veryclean_files=$(clean_files) *~ .\\\#* \\\#*
lib_files=ui/*.xpm ui/$(name).glade
module_objects=$(basename $(shell cd modules && ls *.c))
module_files=$(addprefix modules/,$(module_objects)) \
	$(addprefix modules/,$(shell cd modules && ls *.glade))
objects=rwlock.o	\
	mem.o		\
	marker.o	\
	modutils.o	\
	module.o	\
	mixer.o		\
	cache.o		\
	block.o		\
	blocklist.o	\
	track.o		\
	snd.o		\
	undo.o		\
	draw.o		\
	gui.o		\
	play.o		\
	action.o	\
	grid.o		\
	shell.o		\
	file.o		\
	main.o 
install_files=$(bindir)/$(name) \
	$(addprefix $(libdir)/,$(notdir $(lib_files))) \
	$(addprefix $(moduledir)/,$(notdir $(module_files))) 

all: core
	$(MAKE) -C modules

core: $(objects) $(name)

$(name): $(objects)
	$(CC) $(objects) -o $(name) $(CFLAGS) $(LDFLAGS)

install: all modules
	mkdir -p $(bindir)
	mkdir -p $(libdir)
	mkdir -p $(moduledir)
	cp $(name) $(bindir)
	cp $(lib_files) $(libdir)
	cp $(module_files) $(moduledir)

uninstall:
	@rm -fv $(install_files)
	rmdir $(moduledir)
	rmdir $(libdir)

clean:
	rm -f $(clean_files)
	$(MAKE) -C modules clean

veryclean:
	rm -f $(veryclean_files)
	$(MAKE) -C modules veryclean

.PHONY=all clean veryclean install core modules
