CC = gcc
CFLAGS = -Wall
C = $(CC) $(CFLAGS) -Imain_src -c -o
PROG = /tmp/aiff_dsp
OBJ_DIR = /tmp/
OBJS =	$(OBJ_DIR)aiff.o \
	$(OBJ_DIR)generic.o \
	$(OBJ_DIR)type_conversion.o \
	$(OBJ_DIR)plugin_specific.o \
	$(OBJ_DIR)analyze.o \
	$(OBJ_DIR)card.o \
	$(OBJ_DIR)cardread.o \
	$(OBJ_DIR)chebyshev.o \
	$(OBJ_DIR)null.o \
	$(OBJ_DIR)ringmod.o \
	$(OBJ_DIR)sinegen.o \
	$(OBJ_DIR)sintab.o \
	$(OBJ_DIR)view.o \
	$(OBJ_DIR)zerocross.o

$(PROG): $(OBJS)
	$(CC) -o $(PROG) $(OBJS) -lm
	

clean:
	rm -f $(PROG) $(OBJS) core


$(OBJ_DIR)aiff.o : \
	main_src/aiff.c \
	main_src/file_selection.h \
	main_src/type_conversion.h \
	main_src/aiff.h \
	main_src/plugin_specific.h \
	main_src/generic.h
		$C $(OBJ_DIR)aiff.o main_src/aiff.c
$(OBJ_DIR)generic.o : \
	main_src/generic.c \
	main_src/generic.h \
	main_src/aiff.h 
		$(C) $(OBJ_DIR)generic.o main_src/generic.c
$(OBJ_DIR)type_conversion.o : \
	main_src/type_conversion.c \
	main_src/type_conversion.h
		$(C) $(OBJ_DIR)type_conversion.o main_src/type_conversion.c
$(OBJ_DIR)plugin_specific.o : \
	main_src/plugin_specific.c \
	main_src/aiff.h \
	main_src/plugin_specific.h 
		$(C) $(OBJ_DIR)plugin_specific.o main_src/plugin_specific.c
$(OBJ_DIR)analyze.o : \
	plugin_src/analyze.c \
	main_src/plugin_specific.h \
	main_src/aiff.h 
		$(C) $(OBJ_DIR)analyze.o plugin_src/analyze.c
$(OBJ_DIR)card.o : \
	plugin_src/card.c \
	plugin_src/card.h \
	main_src/aiff.h 
		$(C) $(OBJ_DIR)card.o plugin_src/card.c
$(OBJ_DIR)cardread.o : \
	plugin_src/cardread.c \
	main_src/plugin_specific.h \
	main_src/aiff.h \
	plugin_src/card.h 
		$(C) $(OBJ_DIR)cardread.o plugin_src/cardread.c
$(OBJ_DIR)chebyshev.o : \
	plugin_src/chebyshev.c \
	main_src/plugin_specific.h \
	main_src/aiff.h \
	plugin_src/num_input_macros.h 
		$(C) $(OBJ_DIR)chebyshev.o plugin_src/chebyshev.c
$(OBJ_DIR)null.o : \
	plugin_src/null.c \
	main_src/plugin_specific.h 
		$(C) $(OBJ_DIR)null.o plugin_src/null.c
$(OBJ_DIR)ringmod.o : \
	plugin_src/ringmod.c \
	main_src/plugin_specific.h \
	main_src/aiff.h \
	plugin_src/sintab.h 
		$(C) $(OBJ_DIR)ringmod.o plugin_src/ringmod.c
$(OBJ_DIR)sinegen.o : \
	plugin_src/sinegen.c \
	main_src/plugin_specific.h \
	main_src/aiff.h \
  	main_src/type_conversion.h \
	plugin_src/sintab.h \
	plugin_src/num_input_macros.h
		$(C) $(OBJ_DIR)sinegen.o plugin_src/sinegen.c
$(OBJ_DIR)sintab.o : \
	plugin_src/sintab.c \
	main_src/aiff.h \
	plugin_src/sintab.h \
	plugin_src/num_input_macros.h 
		$(C) $(OBJ_DIR)sintab.o plugin_src/sintab.c
$(OBJ_DIR)view.o : \
	plugin_src/view.c \
	main_src/plugin_specific.h \
	main_src/aiff.h 
		$(C) $(OBJ_DIR)view.o plugin_src/view.c
$(OBJ_DIR)zerocross.o : \
	plugin_src/zerocross.c \
	main_src/plugin_specific.h \
	main_src/aiff.h 
		$(C) $(OBJ_DIR)zerocross.o plugin_src/zerocross.c

