Index: soft/giet_vm/Makefile
===================================================================
--- soft/giet_vm/Makefile	(revision 584)
+++ soft/giet_vm/Makefile	(revision 585)
@@ -95,4 +95,14 @@
                build/boot/boot_entry.o
 
+### Objects to be linked for the user library
+USER_OBJS     = build/libs/malloc.o            \
+                build/libs/mwmr_channel.o      \
+                build/libs/stdio.o             \
+                build/libs/stdlib.o            \
+                build/libs/string.o            \
+                build/libs/user_barrier.o      \
+                build/libs/user_lock.o         \
+                build/libs/user_sqt_lock.o     \
+
 ### Objects to be linked for the math library
 MATH_OBJS     = build/libs/math/e_pow.o        \
@@ -114,78 +124,50 @@
 ### Objects to be linked for display.elf
 DISPLAY_OBJS = build/display/main.o \
-               build/libs/stdio.o
+               build/libs/libuser.a
 
 ### Objects to be linked for router.elf
 ROUTER_OBJS  = build/router/main.o        \
-               build/libs/mwmr_channel.o  \
-               build/libs/user_lock.o     \
-               build/libs/stdio.o
+               build/libs/libuser.a
 
 ### Objects to be linked for hello.elf
 HELLO_OBJS   = build/hello/main.o   \
-               build/libs/stdio.o
+               build/libs/libuser.a
 
 ### Objects to be linked for pgcd.elf
 PGCD_OBJS    = build/pgcd/main.o \
-               build/libs/stdio.o
+               build/libs/libuser.a
 
 ### Objects to be linked for game.elf
 GAMEOFLIFE_OBJS = build/gameoflife/main.o   \
-                  build/libs/stdio.o        \
-                  build/libs/user_barrier.o \
-                  build/libs/malloc.o       \
-                  build/libs/user_lock.o
+                  build/libs/libuser.a
 
 ### Objects to be linked for dhrystone.elf
 DHRYSTONE_OBJS = build/dhrystone/dhry_1.o \
                  build/dhrystone/dhry_2.o \
-                 build/libs/stdlib.o      \
-                 build/libs/stdio.o       \
-                 build/libs/string.o      \
-                 build/libs/user_lock.o   \
-                 build/libs/malloc.o
+                 build/libs/libuser.a
 
 ### Objects to be linked for sort.elf
 SORT_OBJS   = build/sort/main.o          \
-              build/libs/stdio.o         \
-              build/libs/user_barrier.o  \
-              build/libs/malloc.o        \
-              build/libs/user_lock.o
+              build/libs/libuser.a
 
 ### Objects to be linked for transpose.elf
 TRANSPOSE_OBJS = build/transpose/main.o    \
-                 build/libs/stdio.o        \
-                 build/libs/user_barrier.o \
-                 build/libs/malloc.o       \
-                 build/libs/user_lock.o
+                 build/libs/libuser.a
 
 ### Objects to be linked for convol.elf
 CONVOL_OBJS  = build/convol/main.o       \
-               build/libs/stdio.o        \
-               build/libs/stdlib.o       \
-               build/libs/user_barrier.o \
-               build/libs/malloc.o       \
-               build/libs/user_lock.o
+               build/libs/libuser.a
 
 ### Objects to be linked for classif.elf
 CLASSIF_OBJS  = build/classif/main.o      \
-                build/libs/stdio.o        \
-                build/libs/mwmr_channel.o \
-                build/libs/user_barrier.o \
-                build/libs/malloc.o       \
-                build/libs/user_lock.o
+                build/libs/libuser.a
 
 ### Objects to be linked for coproc.elf
 COPROC_OBJS = build/coproc/main.o \
-              build/libs/stdio.o
-
+              build/libs/libuser.a
 
 ### Objects to be linked for ocean.elf
 OCEAN_OBJS  = build/libs/stdio.o        \
-              build/libs/malloc.o       \
-              build/libs/stdlib.o       \
-              build/libs/user_sqt_lock.o\
-              build/libs/user_lock.o    \
-              build/libs/user_barrier.o \
+              build/libs/libuser.a      \
               build/libs/libmath.a
 
@@ -347,5 +329,5 @@
 
 ###########################
-### user libs compilation
+### user library compilation
 build/libs/%.o: giet_libs/%.c   \
                 giet_libs/%.h   \
@@ -353,4 +335,7 @@
                 giet_config.h
 	$(CC) $(CFLAGS) $(USER_INCLUDE) -c -o $@ $<
+
+build/libs/libuser.a: $(USER_OBJS)
+	$(AR) -rcs $@ $^
 
 ################################
