Index: longrun_tests/Makefile.in
===================================================================
--- longrun_tests/Makefile.in	(revision 1241851f3a8c54d3b626b2a944c532bec4e7564b)
+++ longrun_tests/Makefile.in	(revision e8fe5e0a990895d2c3f9b601002d23309d2ae2b1)
@@ -331,5 +331,5 @@
 	$(TEST_LOG_FLAGS)
 am__DIST_COMMON = $(srcdir)/Makefile.in \
-	$(top_srcdir)/automake/test-driver
+	$(top_srcdir)/automake/test-driver $(top_srcdir)/src/cfa.make
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
@@ -342,5 +342,5 @@
 AWK = @AWK@
 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@
-CC = @CFACC@
+CC = @CC@
 CCAS = @CCAS@
 CCASDEPMODE = @CCASDEPMODE@
@@ -356,5 +356,5 @@
 CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
-CFLAGS = ${BUILD_FLAGS}
+CFLAGS = @CFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
@@ -479,4 +479,28 @@
 AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
 ACLOCAL_AMFLAGS = -I automake
+CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCFACOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CFACC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+
+AM_V_CFA = $(am__v_CFA_@AM_V@)
+am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@)
+am__v_CFA_0 = @echo "  CFA     " $@;
+am__v_CFA_1 = 
+AM_V_JAVAC = $(am__v_JAVAC_@AM_V@)
+am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@)
+am__v_JAVAC_0 = @echo "  JAVAC   " $@;
+am__v_JAVAC_1 = 
+AM_V_GOC = $(am__v_GOC_@AM_V@)
+am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@)
+am__v_GOC_0 = @echo "  GOC     " $@;
+am__v_GOC_1 = 
+UPPCC = u++
+UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_UPP = $(am__v_UPP_@AM_V@)
+am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@)
+am__v_UPP_0 = @echo "  UPP     " $@;
+am__v_UPP_1 = 
 repeats = 10
 max_time = 600
@@ -484,18 +508,27 @@
 debug = -debug
 type = LONG
-REPEAT = ${abs_top_srcdir}/tools/repeat
-WATCHDOG = ${abs_top_srcdir}/tools/watchdog
+REPEAT = $(abs_top_builddir)/tools/repeat
+WATCHDOG = $(abs_top_builddir)/tools/watchdog
 TIME = /usr/bin/time -f "%E"
-
-# $(shell ./update-type $(type))
-# ./update-type $(type)
-UPDATED_TYPE = $(shell ./update-type $(type))
-BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -O2 -DPREEMPTION_RATE=${preempt} -I../tests -I. -DTEST_$(shell cat .type | tr a-z A-Z)
+UPDATED_TYPE = $(shell $(srcdir)/update-type $(type))
+BUILD_FLAGS = 
+AM_CFAFLAGS = \
+	-g \
+	-Wall \
+	-Wno-unused-function \
+	-quiet \
+	-O2 \
+	-DPREEMPTION_RATE=$(preempt) \
+	-I$(abs_top_srcdir)/tests \
+	-I$(srcdir) \
+	-DTEST_$(shell cat .type | tr a-z A-Z) \
+	-in-tree
+
 TESTS = block coroutine create disjoint enter enter3 processor stack wait yield
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .log .test .test$(EXEEXT) .trs
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+.SUFFIXES: .cfa .lo .log .o .test .test$(EXEEXT) .trs
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
@@ -517,4 +550,5 @@
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
+$(top_srcdir)/src/cfa.make $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -917,43 +951,53 @@
 
 
-# .INTERMEDIATE: ${TESTS}
-
-all-local: ${TESTS:=.run}
-
-runall : ${TESTS:=.run}
+.cfa.o:
+	$(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+	$(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+	$(am__mv) $$depbase.Tpo $$depbase.Po
+
+.cfa.lo:
+	$(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+	$(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+	$(am__mv) $$depbase.Tpo $$depbase.Plo
+
+# .INTERMEDIATE: $(TESTS)
+
+all-local: $(TESTS:=.run)
+
+runall : $(TESTS:=.run)
 	@ echo "All programs terminated normally"
 
-watchall : ${TESTS:=.watch}
+watchall : $(TESTS:=.watch)
 	@ echo "All programs terminated normally"
 
-compileall : ${TESTS}
+compileall : $(TESTS)
 	@ echo "Compiled"
 
 clean-local:
-	rm -f ${TESTS} core* out.log .type
-
-% : %.c ${CC} ${UPDATED_TYPE}
-	${AM_V_GEN}${CC} ${CFLAGS} ${<} $(debug) -o ${@}
-
-%.run : % ${REPEAT}
-	@ time ${REPEAT} -r out.log -i -s $(repeats) timeout ${max_time} ./${<}
-	@ rm ${<}
-	@ echo -e "${<}: SUCCESS\n"
-
-%.watch : % ${WATCHDOG}
-	@ time ${WATCHDOG} ./${<}
-	@ rm ${<}
-	@ echo -e "${<}: SUCCESS\n"
-
-%.time : % ${REPEAT}
-	@ ${REPEAT} -i -s -- $(repeats) $(TIME) -a -o times.log ./${<}
-	@ rm ${<}
-	@ echo -e "${<}: SUCCESS\n"
-
-${REPEAT}: ${abs_top_srcdir}/tools/Makefile
-	@+make -C ${abs_top_srcdir}/tools/
-
-${WATCHDOG}: ${abs_top_srcdir}/tools/Makefile
-	@+make -C ${abs_top_srcdir}/tools/
+	rm -f $(TESTS) core* out.log .type
+
+% : %.cfa $(CFACC) $(UPDATED_TYPE)
+	$(AM_V_CFA)$(CFACOMPILE) $(<) $(debug) -o $(@)
+
+%.run : % $(REPEAT)
+	@ time $(REPEAT) -r out.log -i -s $(repeats) timeout $(max_time) ./$(<)
+	@ rm $(<)
+	@ echo -e "$(<): SUCCESS\n"
+
+%.watch : % $(WATCHDOG)
+	@ time $(WATCHDOG} ./$(<)
+	@ rm $(<)
+	@ echo -e "$(<): SUCCESS\n"
+
+%.time : % $(REPEAT)
+	@ $(REPEAT) -i -s -- $(repeats) $(TIME) -a -o times.log ./$(<)
+	@ rm $(<)
+	@ echo -e "$(<): SUCCESS\n"
+
+$(REPEAT): $(abs_top_builddir)/tools/Makefile
+	@+make -C $(abs_top_builddir)/tools/
+
+$(WATCHDOG): $(abs_top_builddir)/tools/Makefile
+	@+make -C $(abs_top_builddir)/tools/
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
