Index: libcfa/src/Makefile.am
===================================================================
--- libcfa/src/Makefile.am	(revision 4dcaed2c212a42d633824e9b88053258a2d0f969)
+++ libcfa/src/Makefile.am	(revision ff593a32adef9a2078e1364158421083ef83d50a)
@@ -28,6 +28,7 @@
 # use -no-include-stdhdr to prevent rebuild cycles
 # The built sources must not depend on the installed headers
-AM_CFAFLAGS = -quiet -no-include-stdhdr -XCFA -t -B@DRIVER_DIR@ -XCFA --prelude-dir=$(top_builddir)/prelude -imacros prelude.c -I$(srcdir)/stdhdr
-AM_CFLAGS = -g -Wall -Wno-unused-function
+AM_CFAFLAGS = -quiet -in-tree -B@DRIVER_DIR@ -XCFA --prelude-dir=$(top_builddir)/prelude -imacros prelude.c -I$(srcdir)/stdhdr
+AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@
+AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@
 CFACC = @CFACC@
 
@@ -43,5 +44,5 @@
 
 # not all platforms support concurrency, add option do disable it
-libsrc += concurrency/CtxSwitch-@host_cpu@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/preemption.cfa
+libsrc += concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/preemption.cfa
 
 # extensionless header files are overridden by -o flag in default makerule => explicitly override default rule to silently do nothing
Index: libcfa/src/Makefile.in
===================================================================
--- libcfa/src/Makefile.in	(revision 4dcaed2c212a42d633824e9b88053258a2d0f969)
+++ libcfa/src/Makefile.in	(revision ff593a32adef9a2078e1364158421083ef83d50a)
@@ -91,9 +91,8 @@
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
 subdir = src
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -151,5 +150,6 @@
 	interpose.$(OBJEXT) bits/debug.$(OBJEXT) assert.$(OBJEXT) \
 	exception.$(OBJEXT) virtual.$(OBJEXT) heap.$(OBJEXT) \
-	$(am__objects_1) concurrency/CtxSwitch-@host_cpu@.$(OBJEXT) \
+	$(am__objects_1) \
+	concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT) \
 	concurrency/alarm.$(OBJEXT) concurrency/invoke.$(OBJEXT) \
 	concurrency/preemption.$(OBJEXT)
@@ -223,4 +223,6 @@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ARCHITECTURE = @ARCHITECTURE@
+ARCH_FLAGS = @ARCH_FLAGS@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -237,4 +239,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = @CFLAGS@
@@ -289,9 +292,5 @@
 am__untar = @am__untar@
 bindir = @bindir@
-build = @build@
 build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
 builddir = @builddir@
 datadir = @datadir@
@@ -300,9 +299,5 @@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
-host = @host@
 host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
 htmldir = @htmldir@
 includedir = @includedir@
@@ -344,6 +339,7 @@
 # use -no-include-stdhdr to prevent rebuild cycles
 # The built sources must not depend on the installed headers
-AM_CFAFLAGS = -quiet -no-include-stdhdr -XCFA -t -B@DRIVER_DIR@ -XCFA --prelude-dir=$(top_builddir)/prelude -imacros prelude.c -I$(srcdir)/stdhdr
-AM_CFLAGS = -g -Wall -Wno-unused-function
+AM_CFAFLAGS = -quiet -in-tree -B@DRIVER_DIR@ -XCFA --prelude-dir=$(top_builddir)/prelude -imacros prelude.c -I$(srcdir)/stdhdr
+AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@
+AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@
 
 # not all platforms support concurrency, add option do disable it
@@ -357,5 +353,5 @@
 libsrc = prelude.c startup.cfa interpose.cfa bits/debug.cfa assert.cfa \
 	exception.c virtual.c heap.cfa ${headers:=.cfa} \
-	concurrency/CtxSwitch-@host_cpu@.S concurrency/alarm.cfa \
+	concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \
 	concurrency/invoke.c concurrency/preemption.cfa
 libcfa_a_SOURCES = ${libsrc}
@@ -479,5 +475,5 @@
 concurrency/mutex.$(OBJEXT): concurrency/$(am__dirstamp) \
 	concurrency/$(DEPDIR)/$(am__dirstamp)
-concurrency/CtxSwitch-@host_cpu@.$(OBJEXT):  \
+concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT):  \
 	concurrency/$(am__dirstamp) \
 	concurrency/$(DEPDIR)/$(am__dirstamp)
@@ -506,5 +502,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prelude.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/virtual.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-@host_cpu@.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-@ARCHITECTURE@.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/invoke.Po@am__quote@
 
Index: libcfa/src/concurrency/CtxSwitch-x64.S
===================================================================
--- libcfa/src/concurrency/CtxSwitch-x64.S	(revision ff593a32adef9a2078e1364158421083ef83d50a)
+++ libcfa/src/concurrency/CtxSwitch-x64.S	(revision ff593a32adef9a2078e1364158421083ef83d50a)
@@ -0,0 +1,1 @@
+CtxSwitch-x86_64.S
Index: libcfa/src/concurrency/CtxSwitch-x86.S
===================================================================
--- libcfa/src/concurrency/CtxSwitch-x86.S	(revision ff593a32adef9a2078e1364158421083ef83d50a)
+++ libcfa/src/concurrency/CtxSwitch-x86.S	(revision ff593a32adef9a2078e1364158421083ef83d50a)
@@ -0,0 +1,1 @@
+CtxSwitch-i386.S
