SRC_DIR	= $(SRC_TREE)/condor_test_suite
CFLAGS	= $(STD_C_FLAGS) 

#if IS_R6000_AIX31
FFLAGS = -g -qRECUR -qcharlen=10240
#else
FFLAGS	= 
#endif

SRC = \
	printer.f registers.f floats.f reader.f 

VANILLA_PROGS = \
	printer registers floats reader

CKPT_PROGS = \
	printer.local registers.local floats.local reader.local

REMOTE_PROGS = \
	printer.remote registers.remote floats.remote reader.remote 

all_target( $(VANILLA_PROGS) $(CKPT_PROGS) $(CMD_FILES) $(REMOTE_PROGS) reader.in)
tags_target($(SRC),)
depend_target($(SRC))

simple_target_F(printer,printer.o fake_ckpt.o,$(NULL))
simple_target_F(registers,registers.o fake_ckpt.o,$(NULL))
simple_target_F(floats,floats.o fake_ckpt.o,$(NULL))
simple_target_F(reader,reader.o fake_ckpt.o,$(NULL))

ckpt_target_F(printer.local,printer.o,)
ckpt_target_F(registers.local,registers.o,)
ckpt_target_F(floats.local,floats.o,)
ckpt_target_F(reader.local,reader.o,)

remote_target_F(printer.remote,printer.o,)
remote_target_F(registers.remote,registers.o,)
remote_target_F(floats.remote,floats.o,)
remote_target_F(reader.remote,reader.o,)

reader.in: ALWAYS
	echo UnixName > reader.in


clean::
	rm -f core *.ckpt

TST_DIR = /usr/tmp/condor_test
MKCKPT = $(RELEASE_DIR)/bin/mkckpt

#define run_test_2(prog,args,verify) \
	@echo ---------------- running prog ----------------					@@\
	-cd $(TST_DIR); $(MKCKPT) prog; ./prog.ckpt args; echo ""; verify 	@@\
	-cd $(TST_DIR); $(MKCKPT) prog.ckpt core; ./prog.ckpt; echo ""; verify	@@\
	@echo ""

#define run_test_3(prog,args,verify) \
	@echo ---------------- running prog ----------------					@@\
	-cd $(TST_DIR); $(MKCKPT) prog; ./prog.ckpt args; echo ""; verify 	@@\
	-cd $(TST_DIR); $(MKCKPT) prog.ckpt core; ./prog.ckpt; echo ""; verify	@@\
	-cd $(TST_DIR); $(MKCKPT) prog.ckpt core; ./prog.ckpt; echo ""; verify	@@\
	@echo ""



$(TST_DIR):
	mkdir $(TST_DIR)


test_printer: printer.local $(TST_DIR) ALWAYS
	cp printer.local $(TST_DIR)
	run_test_3(printer.local,,)
	rm -f $(TST_DIR)/{core,printer.*}
	@echo ""

test_registers: registers.local $(TST_DIR) ALWAYS
	cp registers.local $(TST_DIR)
	run_test_2(registers.local,,)
	rm -f $(TST_DIR)/{core,registers.*}
	@echo ""

test_floats: floats.local $(TST_DIR) ALWAYS
	cp floats.local $(TST_DIR)
	run_test_2(floats.local,,)
	rm -f $(TST_DIR)/{core,floats.*}
	@echo ""

test_reader: reader.local $(TST_DIR) ALWAYS
	cp reader.local reader.in $(TST_DIR)
	run_test_3(reader.local,< reader.in,)
	rm -f $(TST_DIR)/{core,reader.*}
	@echo ""

my_ckpt_test: test_printer test_registers test_floats test_reader
	@echo ""; echo ""; echo ""



ckpt_test: $(CKPT_PROGS) ALWAYS
	rm -rf $(TST_DIR)
	mkdir $(TST_DIR)
	cp $(CKPT_PROGS) reader.in $(TST_DIR)
	run_test_3(printer.local,,)
	run_test_2(registers.local,,)
	run_test_2(floats.local,,)
	run_test_3(reader.local,< reader.in,)
	rm -r $(TST_DIR)


remote_test: $(REMOTE_PROGS) ALWAYS
	condor_submit printer.cmd
	condor_submit registers.cmd
	condor_submit floats.cmd
	condor_submit reader.cmd
