diff -Nru i3-4.12.orig/common.mk i3-4.12/common.mk
--- i3-4.12.orig/common.mk	2016-04-05 21:34:20.130387548 +0200
+++ i3-4.12/common.mk	2016-04-05 21:34:57.119059034 +0200
@@ -49,7 +49,7 @@
 endif
 
 # Default LDFLAGS that users should be able to override
-LDFLAGS ?= $(as_needed_LDFLAG)
+#LDFLAGS ?= $(as_needed_LDFLAG)
 
 # Common CFLAGS for all i3 related binaries
 I3_CFLAGS  = -std=c99
@@ -57,7 +57,7 @@
 # unused-function, unused-label, unused-variable are turned on by -Wall
 # We don’t want unused-parameter because of the use of many callbacks
 I3_CFLAGS += -Wunused-value
-I3_CFLAGS += -Iinclude
+I3_CFLAGS += -Iinclude -I$(TOPDIR)/libs/include
 
 I3_CPPFLAGS  = -DI3_VERSION=\"${I3_VERSION}\"
 I3_CPPFLAGS += -DMAJOR_VERSION=${MAJOR_VERSION}
@@ -130,7 +130,7 @@
 
 #libev
 LIBEV_CFLAGS := $(call cflags_for_lib, libev)
-LIBEV_LIBS   := $(call ldflags_for_lib, libev,ev)
+LIBEV_LIBS   := $(call ldflags_for_lib, libev,ev) -lm
 
 # libpcre
 PCRE_CFLAGS := $(call cflags_for_lib, libpcre)
@@ -141,7 +141,7 @@
 
 # startup-notification
 LIBSN_CFLAGS := $(call cflags_for_lib, libstartup-notification-1.0)
-LIBSN_LIBS   := $(call ldflags_for_lib, libstartup-notification-1.0,startup-notification-1)
+LIBSN_LIBS   := $(call ldflags_for_lib, libstartup-notification-1.0,startup-notification-1) -lX11-xcb
 
 # Pango
 PANGO_CFLAGS := $(call cflags_for_lib, cairo)
@@ -154,7 +154,7 @@
 PANGO_LIBS   += $(call ldflags_for_lib, pangocairo)
 
 # libi3
-LIBS = -L$(TOPDIR) -li3 -lm
+LIBS = -L$(TOPDIR) -li3 -lm -L$(TOPDIR)/libs/lib -lxcb-xkb
 
 ## Platform-specific flags
 
