
CC = gcc

c_sources = frontend.c \
	libpcm.c \
	libwave.c \
	libaiff.c

OBJ = $(c_sources:.c=.o)

#Uncomment this if you want to do some profiling/debugging
PG = -g 
#PG = -fomit-frame-pointer

# Optimize flag. 3 is about as high as you can sanely go with GCC3.2.
OPTIM = -O3

# These flags are pretty much mandatory
REQUIRED = -DNDEBUG -DINLINE=inline

#pick your architecture
ARCH = -march=athlon-tbird
#Possible x86 architectures
#gcc3.2 => i386, i486, i586, i686, pentium, pentium-mmx
#          pentiumpro, pentium2, pentium3, pentium4, k6, k6-2, k6-3,
#          athlon, athlon-tbird, athlon-4, athlon-xp and athlon-mp.

#Set a stack of warnings to overcome my atrocious coding style . MFC.
WARNINGS = -Wall

CC_SWITCHES = $(OPTIM) $(REQUIRED) $(ARCH) $(PG) $(TWEAKS) $(WARNINGS)

PGM = ../toolame

LIBS =  -lm -L../libtoolame -ltoolame

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

$(PGM):	$(OBJ) Makefile
	$(CC) $(PG) -o $(PGM) $(OBJ) $(LIBS)

clean:
	-rm $(OBJ) $(DEP)

megaclean:
	-rm $(OBJ) $(DEP) $(PGM) \#*\# *~

distclean:
	-rm $(OBJ) $(DEP) $(PGM) \#* *~ gmon.out gprof* core *shit* *.wav *.mp2 *.c.* *.mp2.* *.da *.h.* *.d *.mp3 *.pcm *.wav logfile

tags: TAGS

TAGS: ${c_sources}
	etags -T ${c_sources}

