diff --git a/examples/Makefile b/examples/Makefile
index a672dc491e131cdb8daec4bdfb2b6dd61f619493..10ba9f1952f0822d3626d164b0869b0c42e03beb 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -19,13 +19,12 @@ LDFLAGS += $(pkg-config --libs glib-2.0)
 all: dns base64 base64_sem1 base64_sem2
 
 dns: LDFLAGS:=-L../src -lhammer $(LDFLAGS)
-dns: dns.o rr.o dns_common.o glue.o
+dns: dns.o rr.o dns_common.o
 	$(call hush, "Linking $@") $(CC) -o $@ $^ $(LDFLAGS)
 
 dns.o: ../src/hammer.h dns_common.h
 rr.o: ../src/hammer.h rr.h dns_common.h
 dns_common.o: ../src/hammer.h dns_common.h
-glue.o: ../src/hammer.h glue.h
 
 base64%: LDFLAGS:=-L../src -lhammer $(LDFLAGS)
 base64%: base64%.o
diff --git a/examples/dns_common.h b/examples/dns_common.h
index 6b04519cb84001c97dfe2afcd9dfd405605ec973..c1d8d7e9d66f98c666f08c95ff5d34fa93f874c3 100644
--- a/examples/dns_common.h
+++ b/examples/dns_common.h
@@ -2,7 +2,7 @@
 #define HAMMER_DNS_COMMON__H
 
 #include "../src/hammer.h"
-#include "glue.h"
+#include "../src/glue.h"
 
 const HParser* init_domain();
 const HParser* init_character_string();
diff --git a/src/Makefile b/src/Makefile
index 47e136df94d51f86a7e29f239f8a38b7b6c61ad1..ead051682b2203bf0aeb18e7d7c9f04cdef23311 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -38,6 +38,7 @@ HAMMER_PARTS := \
 	system_allocator.o \
 	benchmark.o \
 	compile.o \
+	glue.o \
 	$(PARSERS:%=parsers/%.o) \
 	$(BACKENDS:%=backends/%.o)
 
@@ -67,6 +68,7 @@ libhammer.a: $(HAMMER_PARTS)
 
 bitreader.o: test_suite.h
 hammer.o: hammer.h
+glue.o: hammer.h glue.h
 
 all: libhammer.a
 
diff --git a/examples/glue.c b/src/glue.c
similarity index 100%
rename from examples/glue.c
rename to src/glue.c
diff --git a/examples/glue.h b/src/glue.h
similarity index 99%
rename from examples/glue.h
rename to src/glue.h
index ccb488e96a098a8e6867ea68a6f398545109ec77..90944ea094fc0490aeefad194525b4ea7f652e2d 100644
--- a/examples/glue.h
+++ b/src/glue.h
@@ -21,11 +21,11 @@
 // See the leading comment blocks on the sections below for more details.
 //
 
-#ifndef HAMMER_EXAMPLES_GLUE__H
-#define HAMMER_EXAMPLES_GLUE__H
+#ifndef HAMMER_GLUE__H
+#define HAMMER_GLUE__H
 
 #include <assert.h>
-#include "../src/hammer.h"
+#include "hammer.h"
 
 
 //