# additional dependencies not in base
CFLAGS_DEPS=-I/usr/local/include
LDFLAGS_DEPS=-L/usr/local/lib -lid3tag -lmp4v2 -logg -lvorbis -lvorbisfile

CC=/usr/bin/gcc
CFLAGS=-c -Wall -ansi -O2 -DDEBUG -g $(CFLAGS_DEPS)
LDFLAGS=-lncurses -lm $(LDFLAGS_DEPS)


OBJS=meta_info.o meta_info_db.o playlist.o media_library.o uinterface.o viui.o input_handler.o command_mode.o media_player.o vitunes.o

vitunes: $(OBJS)
	$(CC) -o $@ $(LDFLAGS) $(OBJS)

vitunes.o: vitunes.c
	$(CC) $(CFLAGS) vitunes.c

input_handler.o: input_handler.h input_handler.c
	$(CC) $(CFLAGS) input_handler.c

command_mode.o: command_mode.h command_mode.c
	$(CC) $(CFLAGS) command_mode.c

viui.o: viui.h viui.c
	$(CC) $(CFLAGS) viui.c

uinterface.o: uinterface.h uinterface.c
	$(CC) $(CFLAGS) uinterface.c

media_player.o: media_player.h media_player.c
	$(CC) $(CFLAGS) media_player.c

media_library.o: media_library.h media_library.c
	$(CC) $(CFLAGS) media_library.c

playlist.o: playlist.h playlist.c
	$(CC) $(CFLAGS) playlist.c

meta_info_db.o: meta_info_db.h meta_info_db.c
	$(CC) $(CFLAGS) meta_info_db.c

meta_info.o: meta_info.h meta_info.c
	$(CC) $(CFLAGS) $(CFLAGS_DEPS) meta_info.c


clean:
	rm -f *.o
	rm -f vitunes vitunes.core



########################
## utility programs
########################

UTILS=util/test_meta_extract util/test_db util/test_playlist
UTILS_OBJS=util/test_meta_extract.o util/test_db.o util/test_playlist.o

utils: $(UTILS)

util/test_meta_extract: util/test_meta_extract.o meta_info.o
	$(CC) $(LDFLAGS) -o $@ util/test_meta_extract.o meta_info.o

util/test_meta_extract.o: util/test_meta_extract.c
	$(CC) $(CFLAGS) -o $@ util/test_meta_extract.c


util/test_db: util/test_db.o meta_info_db.o meta_info.o
	$(CC) $(LDFLAGS) -o $@ util/test_db.o meta_info_db.o meta_info.o

util/test_db.o: util/test_db.c
	$(CC) $(CFLAGS) -o $@ util/test_db.c


util/test_playlist: util/test_playlist.o playlist.o meta_info.o meta_info_db.o
	$(CC) $(LDFLAGS) -o $@ util/test_playlist.o playlist.o meta_info.o meta_info_db.o

util/test_playlist.o: util/test_playlist.c
	$(CC) $(CFLAGS) -o $@ util/test_playlist.c


cleanutils:
	rm -f $(UTILS_OBJS)
	rm -f $(UTILS)

