CFLAGS= -Wall -O3
CXX= g++
LDFLAGS= -s
CC= gcc
CXX= g++
OBJS= audiodata.o bitstream.o channelheader.o conv.o dataheader.o frameheader.o kraken.o mp3frame.o mp3iterator.o mp3stream.o id3tag.o mp3core.o
SRCDIR= src
LIBS= -ltag
INCLUDE= -I/usr/include/taglib

ifdef DEBUG
  DEBUGFLAGS= -DDEBUG
endif

all: kraken

kraken: $(OBJS)
	$(CXX) $(LDFLAGS) $(LIBS) -o $@ $(OBJS)

%.o: $(SRCDIR)/%.cpp $(SRCDIR)/*.h
	$(CC) $(CFLAGS) $(INCLUDE) $(DEBUGFLAGS) -c $(SRCDIR)/$*.cpp

doc:
	doxygen Doxyfile

dist: doc
	rm -f kraken.tar.bz2
	tar -cjf kraken.tar.bz2 Makefile Doxyfile src/*.cpp src/*.h doc/* Manual.html

clean:
	rm -f *.o
	rm -f kraken

distclean: clean
	rm -f src/*~
	rm -rf doc
	rm kraken.tag
