Index: src/libcfa/Makefile.am
===================================================================
--- src/libcfa/Makefile.am	(revision 24f46714e3d84e39031ca86708b991a79da0e12a)
+++ src/libcfa/Makefile.am	(revision 3d50aafef5f1c990fee6134dbb47f26e25b8dc1e)
@@ -18,5 +18,13 @@
 AUTOMAKE_OPTIONS = subdir-objects
 
-lib_LIBRARIES = libcfa.a
+lib_LIBRARIES =
+
+if BUILD_RELEASE
+lib_LIBRARIES += libcfa.a
+endif
+
+if BUILD_DEBUG
+lib_LIBRARIES += libcfa-d.a
+endif
 
 # put into lib for now
@@ -78,5 +86,9 @@
 ${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-@MACHINE_TYPE@.S concurrency/invoke.c
+libsrc = libcfa-prelude.c ${headers:=.c} concurrency/CtxSwitch-@MACHINE_TYPE@.S concurrency/invoke.c
+
+libcfa_a_SOURCES = ${libsrc}
+
+libcfa_d_a_SOURCES = ${libsrc}
 
 stdhdr = ${shell echo stdhdr/*}
Index: src/libcfa/Makefile.in
===================================================================
--- src/libcfa/Makefile.in	(revision 24f46714e3d84e39031ca86708b991a79da0e12a)
+++ src/libcfa/Makefile.in	(revision 3d50aafef5f1c990fee6134dbb47f26e25b8dc1e)
@@ -40,4 +40,6 @@
 build_triplet = @build@
 host_triplet = @host@
+@BUILD_RELEASE_TRUE@am__append_1 = libcfa.a
+@BUILD_DEBUG_TRUE@am__append_2 = libcfa-d.a
 subdir = src/libcfa
 DIST_COMMON = $(nobase_include_HEADERS) $(srcdir)/Makefile.am \
@@ -89,6 +91,6 @@
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
-libcfa_a_AR = $(AR) $(ARFLAGS)
-libcfa_a_LIBADD =
+libcfa_d_a_AR = $(AR) $(ARFLAGS)
+libcfa_d_a_LIBADD =
 am__dirstamp = $(am__leading_dot)dirstamp
 am__objects_1 = limits.$(OBJEXT) stdlib.$(OBJEXT) math.$(OBJEXT) \
@@ -96,7 +98,12 @@
 	rational.$(OBJEXT) assert.$(OBJEXT) \
 	containers/vector.$(OBJEXT) concurrency/threads.$(OBJEXT)
-am_libcfa_a_OBJECTS = libcfa-prelude.$(OBJEXT) $(am__objects_1) \
+am__objects_2 = libcfa-prelude.$(OBJEXT) $(am__objects_1) \
 	concurrency/CtxSwitch-@MACHINE_TYPE@.$(OBJEXT) \
 	concurrency/invoke.$(OBJEXT)
+am_libcfa_d_a_OBJECTS = $(am__objects_2)
+libcfa_d_a_OBJECTS = $(am_libcfa_d_a_OBJECTS)
+libcfa_a_AR = $(AR) $(ARFLAGS)
+libcfa_a_LIBADD =
+am_libcfa_a_OBJECTS = $(am__objects_2)
 libcfa_a_OBJECTS = $(am_libcfa_a_OBJECTS)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
@@ -122,6 +129,6 @@
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = $(libcfa_a_SOURCES)
-DIST_SOURCES = $(libcfa_a_SOURCES)
+SOURCES = $(libcfa_d_a_SOURCES) $(libcfa_a_SOURCES)
+DIST_SOURCES = $(libcfa_d_a_SOURCES) $(libcfa_a_SOURCES)
 DATA = $(cfalib_DATA)
 HEADERS = $(nobase_include_HEADERS)
@@ -250,5 +257,5 @@
 # create object files in directory with source files
 AUTOMAKE_OPTIONS = subdir-objects
-lib_LIBRARIES = libcfa.a
+lib_LIBRARIES = $(am__append_1) $(am__append_2)
 
 # put into lib for now
@@ -268,5 +275,7 @@
 runtimehdrs = concurrency
 libobjs = ${headers:=.o}
-libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} concurrency/CtxSwitch-@MACHINE_TYPE@.S concurrency/invoke.c
+libsrc = libcfa-prelude.c ${headers:=.c} concurrency/CtxSwitch-@MACHINE_TYPE@.S concurrency/invoke.c
+libcfa_a_SOURCES = ${libsrc}
+libcfa_d_a_SOURCES = ${libsrc}
 stdhdr = ${shell echo stdhdr/*}
 nobase_include_HEADERS = ${headers} ${stdhdr} concurrency/invoke.h
@@ -357,4 +366,8 @@
 concurrency/invoke.$(OBJEXT): concurrency/$(am__dirstamp) \
 	concurrency/$(DEPDIR)/$(am__dirstamp)
+libcfa-d.a: $(libcfa_d_a_OBJECTS) $(libcfa_d_a_DEPENDENCIES) $(EXTRA_libcfa_d_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libcfa-d.a
+	$(AM_V_AR)$(libcfa_d_a_AR) libcfa-d.a $(libcfa_d_a_OBJECTS) $(libcfa_d_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libcfa-d.a
 libcfa.a: $(libcfa_a_OBJECTS) $(libcfa_a_DEPENDENCIES) $(EXTRA_libcfa_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libcfa.a
