build fixes
diff --git a/.cvsignore b/.cvsignore
index 993b68f..4a877a2 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -6,6 +6,5 @@
 mkinstalldirs
 missing
 config.log
-config.h
 config.cache
 config.status
diff --git a/Makefile.am b/Makefile.am
index e9b161a..dc26145 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,3 +1,3 @@
 ## Process this file with automake to produce Makefile.in
 
-SUBDIRS = kernel lib example
+SUBDIRS = kernel lib example include
diff --git a/configure.in b/configure.in
index df5a457..7451681 100644
--- a/configure.in
+++ b/configure.in
@@ -29,6 +29,6 @@
 KERNINCLUDE=$kernelsrc/include
 AC_SUBST(KERNINCLUDE)
 
-AC_OUTPUT([Makefile kernel/Makefile lib/Makefile example/Makefile])
+AC_OUTPUT([Makefile kernel/Makefile lib/Makefile example/Makefile include/Makefile include/linux/Makefile])
 
 
diff --git a/include/.cvsignore b/include/.cvsignore
index 0513d7d..c8a83bf 100644
--- a/include/.cvsignore
+++ b/include/.cvsignore
@@ -1,3 +1,6 @@
+Makefile.in
+Makefile
 config.h.in
+config.h
 stamp-h.in
 stamp-h
diff --git a/include/Makefile.am b/include/Makefile.am
new file mode 100644
index 0000000..9e67b61
--- /dev/null
+++ b/include/Makefile.am
@@ -0,0 +1,5 @@
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = linux
+
+include_HEADERS = fuse.h
diff --git a/include/fuse.h b/include/fuse.h
index 4cddaaf..14b6451 100644
--- a/include/fuse.h
+++ b/include/fuse.h
@@ -83,8 +83,13 @@
 };
 
 /* FUSE flags: */
+
+/** Process requests in multiple threads */
 #define FUSE_MULTITHREAD (1 << 0)
 
+/** Enable debuging output */
+#define FUSE_DEBUG       (1 << 1)
+
 /**
  * Create a new FUSE filesystem. The filesystem is not yet mounted
  *
diff --git a/include/linux/.cvsignore b/include/linux/.cvsignore
new file mode 100644
index 0000000..3dda729
--- /dev/null
+++ b/include/linux/.cvsignore
@@ -0,0 +1,2 @@
+Makefile.in
+Makefile
diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
new file mode 100644
index 0000000..173f647
--- /dev/null
+++ b/include/linux/Makefile.am
@@ -0,0 +1,3 @@
+## Process this file with automake to produce Makefile.in
+
+noinst_HEADERS = fuse.h
diff --git a/lib/fuse.c b/lib/fuse.c
index 2776adc..fc2358b 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -347,9 +347,11 @@
     if(argsize != 0)
         memcpy(outbuf + sizeof(struct fuse_out_header), arg, argsize);
 
-    printf("   unique: %i, error: %i (%s), outsize: %i\n", out->unique,
-           out->error, strerror(-out->error), outsize);
-    fflush(stdout);
+    if((f->flags & FUSE_DEBUG)) {
+        printf("   unique: %i, error: %i (%s), outsize: %i\n", out->unique,
+               out->error, strerror(-out->error), outsize);
+        fflush(stdout);
+    }
                 
     res = write(f->fd, outbuf, outsize);
     if(res == -1)
@@ -755,9 +757,11 @@
     size_t argsize;
     struct fuse *f = cmd->f;
 
-    printf("unique: %i, opcode: %i, ino: %li, insize: %i\n", in->unique,
-           in->opcode, in->ino, cmd->buflen);
-    fflush(stdout);
+    if((f->flags & FUSE_DEBUG)) {
+        printf("unique: %i, opcode: %i, ino: %li, insize: %i\n", in->unique,
+               in->opcode, in->ino, cmd->buflen);
+        fflush(stdout);
+    }
     
     argsize = cmd->buflen - sizeof(struct fuse_in_header);