diff --git a/sam3s_example/Makefile b/sam3s_example/Makefile
index 0686704..b5097bc 100644
--- a/sam3s_example/Makefile
+++ b/sam3s_example/Makefile
@@ -72,7 +72,7 @@
 LIBS = -Wl,--start-group -lgcc -lc -Wl,--end-group
 #LIB_PATH+=-L=/lib/thumb2
 #LIB_PATH+=-L=/../lib/gcc/arm-none-eabi/4.4.1/thumb2
-LIB+=-L=$(LIBC_PATH) -lc
+LIB += -L=$(LIBC_PATH)/include -lc
 
 # Compilation tools
 CC = $(CROSS_COMPILE)gcc
@@ -84,7 +84,7 @@
 NM = $(CROSS_COMPILE)nm
 
 # Flags
-INCLUDES  = -Iinclude -Isam3s_examples_include
+INCLUDES  = -Iinclude_board -Iinclude_sam3s -Iinclude -IBaselibcc/include
 INCLUDES += -Icmsis
 INCLUDES += -I$(LIBC_PATH)/include
 #INCLUDES += -I$(LIBRARIES)
@@ -96,9 +96,10 @@
 CFLAGS += -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings
 CFLAGS += -Wsign-compare -Waggregate-return
 CFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations
-CFLAGS += -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long
+CFLAGS += -Wpacked -Wredundant-decls -Wnested-externs -Winline #-Wlong-long
 CFLAGS += -Wunreachable-code
 CFLAGS += -Wcast-align
+CFLAGS += -std=c11
 #CFLAGS += -Wmissing-noreturn
 #CFLAGS += -Wconversion
 
@@ -125,7 +126,7 @@
 # Objects built from C source files
 C_CMSIS    = core_cm3.o
 C_LOWLEVEL = board_cstartup_gnu.o board_lowlevel.o syscalls.o exceptions.o
-C_LIBLEVEL = spi.o pio.o pmc.o usart.o
+C_LIBLEVEL = spi.o pio.o pmc.o usart.o pio_it.o pio_capture.o uart_console.o iso7816_4.o wdt.o
 C_APPLEVEL = main.o
 C_OBJECTS  = $(C_CMSIS) $(C_LOWLEVEL) $(C_LIBLEVEL) $(C_APPLEVEL)
 
diff --git a/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/include/uart_console.h b/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/include/uart_console.h
index c48c2c1..28e7bc1 100644
--- a/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/include/uart_console.h
+++ b/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/include/uart_console.h
@@ -33,6 +33,8 @@
 
 #include <stdint.h>
 
+extern int printf(const char *, ...);
+
 extern void UART_Configure( uint32_t dwBaudrate, uint32_t dwMasterClock ) ;
 extern void UART_PutChar( uint8_t uc ) ;
 extern uint32_t UART_GetChar( void ) ;
diff --git a/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/source/uart_console.c b/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/source/uart_console.c
index 1c4cbd9..9fb7a4a 100644
--- a/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/source/uart_console.c
+++ b/sam3s_example/atmel_softpack_libraries/libboard_sam3s-ek/source/uart_console.c
@@ -63,6 +63,32 @@
 /** Is Console Initialized. */
 static uint8_t _ucIsConsoleInitialized=0 ;
 
+extern void UART_PutString(const char *str, int len) {
+    int i;
+    for (i=0; i<len; i++) {
+        UART_PutChar(*str++);
+    }
+}
+
+extern int printf(const char *fmt, ...) 
+{
+    char *cmdp;
+    size_t ret = 0;
+
+    va_list va;
+    va_start(va, fmt);
+    ret = vasprintf(&cmdp, fmt, va);
+    va_end(va);
+
+    if (ret == strlen(cmdp)) {
+        UART_PutString(cmdp, strlen(cmdp));
+        free(cmdp);
+    } else {
+        return -1;
+    }
+    return ret;
+}
+
 /**
  * \brief Configures an USART peripheral with the specified parameters.
  *
diff --git a/sam3s_example/atmel_softpack_libraries/libchip_sam3s/include/trace.h b/sam3s_example/atmel_softpack_libraries/libchip_sam3s/include/trace.h
index 012b880..5da90a2 100644
--- a/sam3s_example/atmel_softpack_libraries/libchip_sam3s/include/trace.h
+++ b/sam3s_example/atmel_softpack_libraries/libchip_sam3s/include/trace.h
@@ -67,7 +67,7 @@
 /*
  *         Headers
  */
-
+#include "board.h"
 #include "pio.h"
 
 #include <stdio.h>
diff --git a/sam3s_example/include/board.h b/sam3s_example/include/board.h
index d67a1cd..2ddd2ff 100644
--- a/sam3s_example/include/board.h
+++ b/sam3s_example/include/board.h
@@ -12,6 +12,7 @@
 /**     Highlevel   */
 #include "trace.h"
 #include "stdio.h"
+#include "stdlib.h"
 #include "string.h"
 
 #ifdef __GNUC__ 
