diff --git a/Makefile b/Makefile
index c65ed27b8e3b5d71058bb5224540bbdfe6c2793f..27e1c8a5c055a5f8226c8b981769d6d10910cf0f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 CC=gcc
-CFLAGS=-Wall -g -pthread
+CFLAGS=-Wall -g -pthread -DT_TRACER
 
 #comment those two lines to NOT use shared memory
 CFLAGS += -DT_USE_SHARED_MEMORY
diff --git a/T.h b/T.h
index 46c5bdc1805b9d61929655c342c4af12aef0df19..d88f33a81c0cf9de03bb134823d72ad2214542a4 100644
--- a/T.h
+++ b/T.h
@@ -1,6 +1,8 @@
 #ifndef _T_T_T_
 #define _T_T_T_
 
+#if T_TRACER
+
 #include <stdint.h>
 
 #include "T_defs.h"
@@ -517,4 +519,11 @@ extern int *T_active;
 
 void T_connect_to_tracer(char *addr, int port);
 
+#else /* T_TRACER */
+
+/* if T_TRACER is not defined or is 0, the T is deactivated */
+#define T(...) /**/
+
+#endif /* T_TRACER */
+
 #endif /* _T_T_T_ */
diff --git a/tracer/Makefile b/tracer/Makefile
index 23309eb85ec91ba5d8d0d3b5f8a95d32460652dd..a38ba5c2c65cd4188bbba4721bdb556a682d3b67 100644
--- a/tracer/Makefile
+++ b/tracer/Makefile
@@ -1,7 +1,7 @@
 CC=gcc
-CFLAGS=-Wall -g -pthread
+CFLAGS=-Wall -g -pthread -DT_TRACER
 
-CFLAGS += -O3 -ffast-math -fomit-frame-pointer
+#CFLAGS += -O3 -ffast-math -fomit-frame-pointer
 
 LIBS=-lX11 -lm