diff --git a/Makefile b/Makefile
index 7d2dfe28eaf0ea71e610c4184fc84fa671556725..6bb60b0b2a22ec85ab063d507e8fc9d2646c9ffd 100644
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,7 @@ clean: elfio_clean
 	rm -f include/config.h
 
 bea:	
-	cd beaengine; cmake .; make all
+	cd beaengine; cmake -DCMAKE_C_FLAGS=-fPIC .; make all
 	if [ ! -f lib/libBeaEngine_s_d.a -o ./beaengine/lib/Linux.gnu.Debug/libBeaEngine_s_d.a -nt lib/libBeaEngine_s_d.a ]; then cp ./beaengine/lib/Linux.gnu.Debug/libBeaEngine_s_d.a lib/libBeaEngine_s_d.a; fi
 
 
diff --git a/libIRDB/src/cfg/Makefile b/libIRDB/src/cfg/Makefile
index 14880b9ac217e40b453790ba025b2366bab482f6..657c8a6f7c3a3af17a5cf0468bc3622524405807 100644
--- a/libIRDB/src/cfg/Makefile
+++ b/libIRDB/src/cfg/Makefile
@@ -11,5 +11,5 @@ clean:
 	rm -f $(OBJS)
 
 .cpp.o:
-	g++ -g -c -I. -I../../include -I../../../beaengine/include $<
+	g++ -fPIC -g -c -I. -I../../include -I../../../beaengine/include $<
 	ar rc $(LIB) $@
diff --git a/libIRDB/src/core/Makefile b/libIRDB/src/core/Makefile
index f9a80e8d789aeba0bd116d18df4bd943a3b1f844..a22f505dc84185d7ce62f157e4cf3f996397608d 100644
--- a/libIRDB/src/core/Makefile
+++ b/libIRDB/src/core/Makefile
@@ -12,5 +12,5 @@ clean:
 	rm -f $(OBJS)
 
 .cpp.o:
-	g++ -g -c -I. -I../../include -I../../../beaengine/include $<
+	g++ -fPIC -g -c -I. -I../../include -I../../../beaengine/include $<
 	ar rc $(LIB) $@
diff --git a/libIRDB/src/syscall/Makefile.in b/libIRDB/src/syscall/Makefile.in
index 7a6c0a26f67cfe74c22b54d2931e0c741ce0c355..c66e55627c35576039b5d7b9956115284c5f6bb9 100644
--- a/libIRDB/src/syscall/Makefile.in
+++ b/libIRDB/src/syscall/Makefile.in
@@ -4,7 +4,7 @@ LIB=../../lib/libIRDB-syscall.a
 OBJS=syscall.o
 
 CXX=@CXX@
-EXTRA_CXXFLAGS=-g -c -I. -I../../include -I../../../beaengine/include @EXTRA_CXXFLAGS@
+EXTRA_CXXFLAGS=-fPIC -g -c -I. -I../../include -I../../../beaengine/include @EXTRA_CXXFLAGS@
 
 all: $(OBJS)
 
diff --git a/libIRDB/src/util/Makefile b/libIRDB/src/util/Makefile
index c3cf89e69f9d40824a73876a0555c785451b6d9d..4719d13678bf95df05714a3a92124ea101eaaa01 100644
--- a/libIRDB/src/util/Makefile
+++ b/libIRDB/src/util/Makefile
@@ -11,5 +11,5 @@ clean:
 	rm -f $(OBJS)
 
 .cpp.o:
-	g++ -g -c -I. -I../../include -I../../../beaengine/include $<
+	g++ -fPIC -g -c -I. -I../../include -I../../../beaengine/include $<
 	ar rc $(LIB) $@
diff --git a/tools/transforms/Makefile.in b/tools/transforms/Makefile.in
index d578a5e33fa1e5e3440dfed109785a5535858ff2..9a686d9ed1dc1a1c1f458b8b72345048505283f3 100644
--- a/tools/transforms/Makefile.in
+++ b/tools/transforms/Makefile.in
@@ -17,7 +17,7 @@
 PROGS=p1transform.exe nulltransform.exe integertransformdriver.exe
 
 CC=g++
-CFLAGS= -g -Wall $(TWITCHER_FLAGS) @EXTRA_CXXFLAGS@
+CFLAGS= -g -Wall $(TWITCHER_FLAGS) @EXTRA_CXXFLAGS@ -fPIC
 INCLUDE=-I. -I../../include -I../../xform -I../../beaengine/include -I../../libIRDB/include/ -I../../libMEDSannotation/include/ -I../../libtransform/include/
 LIBS=-L../../lib -lxform -lIRDB-core -lIRDB-cfg -lBeaEngine_s_d -lpqxx  -lMEDSannotation -ltransform