ALSADOBJS = main.o alsad_net_lib.o socket_lib.o log_lib.o circ_buff.o \
		auth_lib.o alsad_stream_list.o alsad_data_pipe_list.o \
		alsad_shared_lib.o config_file.o linked_list.o

ALSADHEADERS = log_lib.h socket_lib.h alsad_net_lib.h circ_buff.h auth_lib.h \
		alsad_stream_list.h alsad_shared_lib.h config_file.h \
		alsad_defs.h

ALSACLIENTOBJS = alsa_client.o alsad_net_lib.o socket_lib.o log_lib.o \
		auth_lib.o alsad_shared_lib.o config_file.o

ALSACLIENTHEADERS = log_lib.h socket_lib.h alsad_net_lib.h auth_lib.h \
		alsad_shared_lib.h config_file.h alsad_defs.h

all:	backup alsad alsa_client

default:	alsad alsa_client

backup:
	tar cvzf /mnt/rdrive/cs610/alsad.latest.tgz ../alsad

clean:
	rm *.o alsad alsa_client

alsad:	$(ALSADHEADERS) $(ALSADOBJS)
	gcc -Wall -g -lpthread -lasound -lcrypto -o alsad $(ALSADOBJS)

alsa_client:	$(ALSACLIENTHEADERS) $(ALSACLIENTOBJS)
	gcc -Wall -g -lasound -lcrypto -o alsa_client $(ALSACLIENTOBJS)


alsa_client.o:	alsad_shared_lib.h config_file.h log_lib.h socket_lib.h \
	alsad_net_lib.h alsad_defs.h alsa_client.c
	gcc -Wall -g -c alsa_client.c

main.o: alsad_defs.h alsad_shared_lib.h config_file.h log_lib.h\
	socket_lib.h alsad_net_lib.h alsad_stream_list.h circ_buff.h main.c
	gcc -Wall -g -c main.c

log_lib.o: log_lib.h log_lib.c
	gcc -Wall -g -c log_lib.c

alsad_net_lib.o: alsad_defs.h socket_lib.h alsad_net_lib.h \
	alsad_net_lib.c
	gcc -Wall -g -c alsad_net_lib.c

alsad_stream_list.o: circ_buff.h alsad_net_lib.h alsad_stream_list.h \
	alsad_shared_lib.h linked_list.h alsad_stream_list.c
	gcc -Wall -g -c alsad_stream_list.c

alsad_data_pipe_list.o: alsad_net_lib.h alsad_data_pipe_list.h \
	linked_list.h alsad_data_pipe_list.c
	gcc -Wall -g -c alsad_data_pipe_list.c

alsad_shared_lib.o:  config_file.h alsad_net_lib.h alsad_shared_lib.h alsad_shared_lib.c
	gcc -Wall -g -c alsad_shared_lib.c

socket_lib.o: log_lib.h log_lib.o socket_lib.h socket_lib.c
	gcc -Wall -g -c socket_lib.c

circ_buff.o: circ_buff.h circ_buff.c
	gcc -Wall -g -c circ_buff.c

auth_lib.o: socket_lib.h socket_lib.c auth_lib.h auth_lib.c
	gcc -Wall -g -c auth_lib.c

config_file.o: config_file.h config_file.c
	gcc -Wall -g -c config_file.c

linked_list.o: linked_list.h linked_list.c
	gcc -Wall -g -c linked_list.c






list_streams:
	./alsa_client -slocalhost -p5001 -clist_stream -Falsa_client.conf

list_pipes:
	./alsa_client -slocalhost -p5001 -clist_pipe -i11111 -Falsa_client.conf

list_pipes_5000:
	./alsa_client -slocalhost -p5000 -clist_pipe -i11112 -Falsa_client.conf

add_stream:
	./alsa_client -slocalhost -p5001 -cadd_stream -C1 -i11111 -t"New Stream" -Falsa_client.conf

add_stream_5000:
	./alsa_client -slocalhost -p5000 -cadd_stream -C1 -i11112 -t"The Newest Stream" -Falsa_client.conf

add_stream_calc:
	./alsa_client -slocalhost -p5001 -cadd_stream -C1 -i11111 -t"New Stream" -Wcalc_rate -Falsa_client.conf

add_stream_sink:
	./alsa_client -slocalhost -p5001 -cadd_stream -C1 -i11111 -t"New Stream" -Wsink_rate -Falsa_client.conf

del_stream:
	./alsa_client -slocalhost -p5001 -cdel_stream -i11111 -Falsa_client.conf

del_stream_5000:
	./alsa_client -slocalhost -p5000 -cdel_stream -i11112 -Falsa_client.conf

add_src:
	./alsa_client -slocalhost -p5001 -cadd_src -i11111 -lcurrent -d6451 -f../rawfiles/test0.raw -Falsa_client.conf

add_src_5000:
	./alsa_client -slocalhost -p5000 -cadd_src -i11112 -lcurrent -d6451 -f../rawfiles/test0.raw -Falsa_client.conf

add_src_hw:
	./alsa_client -slocalhost -p5001 -cadd_src -i11111 -lhw_iface -d6451 -Falsa_client.conf

del_src_hw:
	./alsa_client -slocalhost -p5001 -cdel_src -i11111 -d6451 -Falsa_client.conf

add_src_new:
	./alsa_client -slocalhost -p5001 -cadd_src -i11111 -lcurrent -d2143 -f../rawfiles/new.raw -Falsa_client.conf

add_src_new1:
	./alsa_client -slocalhost -p5001 -cadd_src -i11111 -lcurrent -d2143 -f../rawfiles/new1.raw -Falsa_client.conf

add_src_alsad:
	./alsa_client -slocalhost -p5000 -Slocalhost -P5001 -cadd_src -i11112 -lremote -D3432 -d1234 -I11111 -Falsa_client.conf

del_src_alsad:
	./alsa_client -slocalhost -p5000 -Slocalhost -P5001 -cdel_src -i11112 -d1234 -Falsa_client.conf

add_sink_hw:
	./alsa_client -slocalhost -p5001 -cadd_sink -i11111 -lhw_iface -d4321 -Falsa_client.conf

add_sink_hw_5000:
	./alsa_client -slocalhost -p5000 -cadd_sink -i11112 -lhw_iface -d4321 -Falsa_client.conf

del_sink_hw:
	./alsa_client -slocalhost -p5001 -cdel_sink -i11111 -d4321 -Falsa_client.conf

add_sink_new:
	./alsa_client -slocalhost -p5001 -cadd_sink -i11111 -lcurrent -d2331 -f../rawfiles/new.raw -Falsa_client.conf

add_sink_new1:
	./alsa_client -slocalhost -p5001 -cadd_sink -i11111 -lcurrent -d3433 -f../rawfiles/new1.raw -Falsa_client.conf

add_sink_alsad:
	./alsa_client -slocalhost -p5001 -Slocalhost -P5000 -cadd_sink -i11111 -lremote -d3432 -D1234 -I11112 -Falsa_client.conf

del_sink_alsad:
	./alsa_client -slocalhost -p5001 -cdel_sink -i11111 -d3432 -Falsa_client.conf

