INCDIR		= ./include/
SRCDIR		= ./src/
LIBDIR          = ./lib/
BINDIR		= ./bin/

EC		= echo
RM		= rm -f
AR		= ar
CC		= gcc

#CCOPTIONS	= -O -s
CCOPTIONS	= -g -Wall -static 
#CCOPTIONS	= -Wall
#CCOPTIONS	= -Wall -s -O9

INCLUDES	= -I$(INCDIR)
LIBRARIES	= -lm -lefence
DEFINES		=

all::			$(BINDIR)Proj4
			@$(EC) "Cleaning up..."
			@$(RM) *.s core *.BAK *.CKP *~
			@$(EC) "done."

clean:			
			@$(EC) "Cleaning up..."
			@$(RM) *.a *.s *.o core *.BAK *.CKP *~ 


$(BINDIR)Proj4:		Makefile \
			$(SRCDIR)Proj4.c \
			$(LIBDIR)DFT.o \
			$(LIBDIR)complex.o \
			$(LIBDIR)convolution.o \
			$(LIBDIR)dtft.o \
			$(LIBDIR)filter.o \
                        $(LIBDIR)plot.o \
			$(LIBDIR)response.o \
			$(LIBDIR)reader.o \
			$(LIBDIR)sinusoid.o \
                        $(LIBDIR)window.o \
			$(INCDIR)complex.h \
			$(INCDIR)DSP.h 
			$(CC) $(CCOPTIONS) $(DEFINES) $(SRCDIR)Proj4.c \
			$(INCLUDES) \
			$(LIBDIR)DFT.o \
			$(LIBDIR)complex.o \
			$(LIBDIR)convolution.o \
			$(LIBDIR)dtft.o \
			$(LIBDIR)filter.o \
                        $(LIBDIR)plot.o \
			$(LIBDIR)response.o \
			$(LIBDIR)reader.o \
			$(LIBDIR)sinusoid.o \
                        $(LIBDIR)window.o \
			$(LIBRARIES) -o $@


$(LIBDIR)DFT.o:		Makefile \
			$(SRCDIR)DFT.c \
			$(INCDIR)DSP.h
			$(CC) -c $(CCOPTIONS) $(DEFINES) \
			$(SRCDIR)DFT.c \
			$(INCLUDES) -o $@

$(LIBDIR)complex.o:	Makefile \
			$(SRCDIR)complex.c \
			$(INCDIR)complex.h
			$(CC) -c $(CCOPTIONS) $(DEFINES) $(SRCDIR)complex.c \
			$(INCLUDES) -o $@

$(LIBDIR)convolution.o:	Makefile \
			$(SRCDIR)convolution.c \
			$(INCDIR)DSP.h
			$(CC) -c $(CCOPTIONS) $(DEFINES) \
			$(SRCDIR)convolution.c \
			$(INCLUDES) -o $@

$(LIBDIR)dtft.o:	Makefile \
			$(SRCDIR)dtft.c \
			$(INCDIR)DSP.h
			$(CC) -c $(CCOPTIONS) $(DEFINES) \
			$(SRCDIR)dtft.c \
			$(INCLUDES) -o $@

$(LIBDIR)filter.o:	Makefile \
			$(SRCDIR)filter.c \
			$(INCDIR)DSP.h
			$(CC) -c $(CCOPTIONS) $(DEFINES) \
			$(SRCDIR)filter.c \
			$(INCLUDES) -o $@

$(LIBDIR)plot.o:	Makefile \
			$(SRCDIR)plot.c \
			$(INCDIR)DSP.h
			$(CC) -c $(CCOPTIONS) $(DEFINES) \
			$(SRCDIR)plot.c \
			$(INCLUDES) -o $@

$(LIBDIR)response.o:	Makefile \
			$(SRCDIR)response.c \
			$(INCDIR)DSP.h
			$(CC) -c $(CCOPTIONS) $(DEFINES) \
			$(SRCDIR)response.c \
			$(INCLUDES) -o $@

$(LIBDIR)reader.o:	Makefile \
			$(SRCDIR)reader.c \
			$(INCDIR)DSP.h
			$(CC) -c $(CCOPTIONS) $(DEFINES) \
			$(SRCDIR)reader.c \
			$(INCLUDES) -o $@

$(LIBDIR)sinusoid.o:	Makefile \
			$(SRCDIR)sinusoid.c \
			$(INCDIR)DSP.h
			$(CC) -c $(CCOPTIONS) $(DEFINES) \
			$(SRCDIR)sinusoid.c \
			$(INCLUDES) -o $@

$(LIBDIR)window.o:	Makefile \
			$(SRCDIR)window.c \
			$(INCDIR)DSP.h
			$(CC) -c $(CCOPTIONS) $(DEFINES) \
			$(SRCDIR)window.c \
			$(INCLUDES) -o $@

