CC = gcc -O3

PCC = $(CC) -c
RAW = date_time.o df_fft.o encode.o file_io.o
AORAW = date_time.o encode.o file_io.o

momtest: raw_main.o $(RAW) moments.o spectrum.o raw_proto.h Makefile
	@echo "Creating momtest..."
	$(CC) raw_main.o $(RAW) moments.o spectrum.o -o momtest -lm

procao: procao_main.o $(AORAW) raw_proto.h matlab.h Makefile
	@echo "Creating procao..."
	$(CC) procao_main.o $(AORAW) -o procao -lm

check_bits: check_bits.o $(RAW) raw_proto.h Makefile
	@echo "Creating check_bits..."
	$(CC) check_bits.o $(RAW) -o check_bits -lm

check_times: check_times.o $(RAW) raw_proto.h Makefile
	@echo "Creating check_times..."
	$(CC) check_times.o $(RAW) -o check_times -lm

check_volt: check_volt.o $(RAW) raw_proto.h Makefile
	@echo "Creating check_volt..."
	$(CC) check_volt.o $(RAW) -o check_volt -lm

dump_header: dump_header.o $(RAW) raw_proto.h Makefile
	@echo "Creating dump_header..."
	$(CC) dump_header.o $(RAW) -o dump_header -lm

raw_main.o: raw_main.c raw_proto.h
	$(PCC) raw_main.c -o raw_main.o

date_time.o: date_time.c raw_proto.h
	$(PCC) date_time.c -o date_time.o

df_fft.o: df_fft.c raw_proto.h
	$(PCC) df_fft.c -o df_fft.o

encode.o: encode.c raw_proto.h
	$(PCC) encode.c -o encode.o

ao_encode.o: ao_encode.c raw_proto.h
	$(PCC) ao_encode.c -o ao_encode.o

file_io.o: file_io.c raw_proto.h
	$(PCC) file_io.c -o file_io.o

ao_file_io.o: ao_file_io.c raw_proto.h
	$(PCC) ao_file_io.c -o ao_file_io.o

moments.o: moments.c raw_proto.h
	$(PCC) moments.c -o moments.o

spectrum.o: spectrum.c raw_proto.h
	$(PCC) spectrum.c -o spectrum.o
