# UNIX compatible Makefile for building and testing lrf_list application
#
# Instructions:
#
# (1) Copy all files from the EXTRAS/SOFTWARE volume directory to
#     a writable directory.
#
# (2) Edit the entry for CC below for your platform if necessary.
#
# (3) make -f LRF_MAKEFILE.MAK
#
# (4) make -f LRF_MAKEFILE.MAK test

CC = gcc

CFLAGS = -O

lrf_list: lrf_list.c LRF_LIST.C
	$(CC) $(CFLAGS) -o lrf_list lrf_list.c -lm

test: lrf_list LRF_OUTPUT.orig LRF_OUTPUT.out LRF_OUTPUT.diff
	@test ! -s LRF_OUTPUT.diff && echo "lrf_list is CORRECT" \
	|| echo "lrf_list verification FAILED!  See LRF_OUTPUT.diff."

lrf_list.c: LRF_LIST.C
	tr -d \\r < LRF_LIST.C > lrf_list.c

LRF_OUTPUT.out: lrf_list LRF_INPUT.DAT
	./lrf_list LRF_INPUT.DAT > LRF_OUTPUT.out

LRF_OUTPUT.diff: LRF_OUTPUT.orig LRF_OUTPUT.out
	-diff LRF_OUTPUT.orig LRF_OUTPUT.out > LRF_OUTPUT.diff

tidy:
	@rm -f LRF*.orig LRF*.out LRF*.diff

clean: tidy
	@rm -f lrf_list.c lrf_list

.SUFFIXES: .orig .TXT

.TXT.orig:
	tr -d \\r < $< > $@