Index: src/libcfa/Makefile.am
===================================================================
--- src/libcfa/Makefile.am	(revision 78b3f524dae38189ed4f479ebdc4c6f51903a1f1)
+++ src/libcfa/Makefile.am	(revision d7bcbf5a448434f2bcfc247bc16c0f111feaca9a)
@@ -53,17 +53,13 @@
 	 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -c -o $@ $<
 
-CFLAGS = \
-	-quiet \
-	-no-include-stdhdr \
+EXTRA_FLAGS = \
 	-g \
 	-Wall \
 	-Wno-unused-function \
 	@CFA_FLAGS@ \
-	-B${abs_top_srcdir}/src/driver \
-	-XCFA \
-	-t \
-	-D__CFA_DEBUG__ \
 	-I${abs_top_srcdir}/src/libcfa/libhdr \
 	# TEMPORARY: does not build with -O2
+
+CFLAGS = ${EXTRA_FLAGS}	-quiet -no-include-stdhdr -XCFA -t -B${abs_top_srcdir}/src/driver
 CC = ${abs_top_srcdir}/src/driver/cfa
 
@@ -76,7 +72,10 @@
 	@true
 
+concurrency/invoke.o : concurrency/invoke.c
+	$(AM_V_CC) @BACKEND_CC@ ${EXTRA_FLAGS} -c -o $@ $<
+
 ${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp ${cfalib_DATA} # add dependency to cfa-cpp so all libraries are rebuilt with new translator
 
-libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} concurrency/CtxSwitch-x86_64.S
+libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} concurrency/CtxSwitch-x86_64.S concurrency/invoke.c
 
 stdhdr = ${shell echo stdhdr/*}
Index: src/libcfa/Makefile.in
===================================================================
--- src/libcfa/Makefile.in	(revision 78b3f524dae38189ed4f479ebdc4c6f51903a1f1)
+++ src/libcfa/Makefile.in	(revision d7bcbf5a448434f2bcfc247bc16c0f111feaca9a)
@@ -95,5 +95,6 @@
 	containers/vector.$(OBJEXT) concurrency/threads.$(OBJEXT)
 am_libcfa_a_OBJECTS = libcfa-prelude.$(OBJEXT) $(am__objects_1) \
-	concurrency/CtxSwitch-x86_64.$(OBJEXT)
+	concurrency/CtxSwitch-x86_64.$(OBJEXT) \
+	concurrency/invoke.$(OBJEXT)
 libcfa_a_OBJECTS = $(am_libcfa_a_OBJECTS)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
@@ -146,18 +147,5 @@
 CFA_LIBDIR = @CFA_LIBDIR@
 CFA_PREFIX = @CFA_PREFIX@
-CFLAGS = \
-	-quiet \
-	-no-include-stdhdr \
-	-g \
-	-Wall \
-	-Wno-unused-function \
-	@CFA_FLAGS@ \
-	-B${abs_top_srcdir}/src/driver \
-	-XCFA \
-	-t \
-	-D__CFA_DEBUG__ \
-	-I${abs_top_srcdir}/src/libcfa/libhdr \
-	# TEMPORARY: does not build with -O2
-
+CFLAGS = ${EXTRA_FLAGS}	-quiet -no-include-stdhdr -XCFA -t -B${abs_top_srcdir}/src/driver
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
@@ -257,8 +245,16 @@
 cfalib_DATA = builtins.cf extras.cf prelude.cf
 MAINTAINERCLEANFILES = builtins.cf extras.cf ${addprefix ${libdir}/,${cfalib_DATA}} ${addprefix ${libdir}/,${lib_LIBRARIES}}
+EXTRA_FLAGS = \
+	-g \
+	-Wall \
+	-Wno-unused-function \
+	@CFA_FLAGS@ \
+	-I${abs_top_srcdir}/src/libcfa/libhdr \
+	# TEMPORARY: does not build with -O2
+
 headers = limits stdlib math iostream fstream iterator rational assert containers/vector concurrency/threads
 runtimehdrs = concurrency
 libobjs = ${headers:=.o}
-libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} concurrency/CtxSwitch-x86_64.S
+libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} concurrency/CtxSwitch-x86_64.S concurrency/invoke.c
 stdhdr = ${shell echo stdhdr/*}
 nobase_include_HEADERS = ${headers} ${stdhdr}
@@ -346,4 +342,6 @@
 concurrency/CtxSwitch-x86_64.$(OBJEXT): concurrency/$(am__dirstamp) \
 	concurrency/$(DEPDIR)/$(am__dirstamp)
+concurrency/invoke.$(OBJEXT): concurrency/$(am__dirstamp) \
+	concurrency/$(DEPDIR)/$(am__dirstamp)
 libcfa.a: $(libcfa_a_OBJECTS) $(libcfa_a_DEPENDENCIES) $(EXTRA_libcfa_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libcfa.a
@@ -354,4 +352,5 @@
 	-rm -f *.$(OBJEXT)
 	-rm -f concurrency/CtxSwitch-x86_64.$(OBJEXT)
+	-rm -f concurrency/invoke.$(OBJEXT)
 	-rm -f concurrency/threads.$(OBJEXT)
 	-rm -f containers/vector.$(OBJEXT)
@@ -370,4 +369,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdlib.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-x86_64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/invoke.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/threads.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@containers/$(DEPDIR)/vector.Po@am__quote@
@@ -689,4 +689,7 @@
 	@true
 
+concurrency/invoke.o : concurrency/invoke.c
+	$(AM_V_CC) @BACKEND_CC@ ${EXTRA_FLAGS} -c -o $@ $<
+
 ${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp ${cfalib_DATA} # add dependency to cfa-cpp so all libraries are rebuilt with new translator
 
