diff --git a/buildsys.mk.in b/buildsys.mk.in
index b00ae75..3668adb 100644
--- a/buildsys.mk.in
+++ b/buildsys.mk.in
@@ -21,6 +21,8 @@
 #  POSSIBILITY OF SUCH DAMAGE.
 #
 
+abs_top_srcdir = @abs_top_srcdir@
+
 PACKAGE = @PACKAGE@
 AS = @AS@
 CC = @CC@
@@ -37,7 +39,7 @@ PYTHON = @PYTHON@
 ASFLAGS = @ASFLAGS@
 CFLAGS = @CFLAGS@
 CXXFLAGS = @CXXFLAGS@
-CPPFLAGS = @CPPFLAGS@
+CPPFLAGS = -I. -I$(abs_top_srcdir) -I$(abs_top_srcdir)/src @CPPFLAGS@
 DFLAGS = @DFLAGS@
 ERLCFLAGS = @ERLCFLAGS@
 OBJCFLAGS = @OBJCFLAGS@
diff --git a/src/audacious/Makefile b/src/audacious/Makefile
index e5055c7..8fc94d3 100644
--- a/src/audacious/Makefile
+++ b/src/audacious/Makefile
@@ -108,8 +108,7 @@ CPPFLAGS += \
 		${PTHREAD_CFLAGS}		\
 		-D_AUDACIOUS_CORE		\
 		${EGGSM_CFLAGS}			\
-		${LIBGUESS_CFLAGS}		\
-		-I.. -I../..
+		${LIBGUESS_CFLAGS}
 
 # Essential for efficient FFTs. --jlindgren
 CFLAGS += -ffast-math
diff --git a/src/audtool/Makefile b/src/audtool/Makefile
index 2433604..078ae79 100644
--- a/src/audtool/Makefile
+++ b/src/audtool/Makefile
@@ -11,8 +11,7 @@ SRCS = main.c				\
 include ../../buildsys.mk
 include ../../extra.mk
 
-CPPFLAGS += -I.. -I../.. \
-            ${AUDACIOUS_DEFINES} \
+CPPFLAGS += ${AUDACIOUS_DEFINES} \
             ${DBUS_CFLAGS} \
             ${GTK_CFLAGS}
 
diff --git a/src/libaudclient/Makefile b/src/libaudclient/Makefile
index d943fa5..92d1e2a 100644
--- a/src/libaudclient/Makefile
+++ b/src/libaudclient/Makefile
@@ -12,7 +12,7 @@ include ../../extra.mk
 pre-depend:
 	cd ../audacious; ${MAKE} ${MFLAGS} dbus-client-bindings.h
 
-CPPFLAGS = ${CFLAGS} -D_AUDACIOUS_CORE -I.. -I../..
+CPPFLAGS += ${CFLAGS} -D_AUDACIOUS_CORE
 CFLAGS += ${LIB_CFLAGS}		\
 	  ${GLIB_CFLAGS}	\
 	  ${DBUS_CFLAGS}
diff --git a/src/libaudcore/Makefile b/src/libaudcore/Makefile
index 886efe3..445e2e1 100644
--- a/src/libaudcore/Makefile
+++ b/src/libaudcore/Makefile
@@ -29,7 +29,7 @@ include ../../extra.mk
 
 includesubdir = libaudcore
 
-CPPFLAGS += -DHAVE_CONFIG_H ${PTHREAD_CFLAGS} ${GLIB_CFLAGS} -I.. -I../..
+CPPFLAGS += -DHAVE_CONFIG_H ${PTHREAD_CFLAGS} ${GLIB_CFLAGS}
 CFLAGS += ${LIB_CFLAGS}
 
 LIBS += ${PTHREAD_LIBS} ${GLIB_LIBS} -lm
diff --git a/src/libaudgui/Makefile b/src/libaudgui/Makefile
index 07f7eb4..57b8222 100644
--- a/src/libaudgui/Makefile
+++ b/src/libaudgui/Makefile
@@ -32,6 +32,6 @@ include ../../extra.mk
 
 includesubdir = libaudgui
 
-CPPFLAGS += -DHAVE_CONFIG_H -I.. -I../.. ${GLIB_CFLASG} ${GTK_CFLAGS} ${DBUS_CFLAGS} ${AUDACIOUS_DEFINES} ${REGEX_CFLAGS}
+CPPFLAGS += -DHAVE_CONFIG_H ${GLIB_CFLASG} ${GTK_CFLAGS} ${DBUS_CFLAGS} ${AUDACIOUS_DEFINES} ${REGEX_CFLAGS}
 CFLAGS += ${LIB_CFLAGS}
 LIBS += -lm ${GLIB_LIBS} ${GTK_LIBS} ${REGEX_LIBS} -L../libaudcore -laudcore
diff --git a/src/libaudtag/Makefile b/src/libaudtag/Makefile
index 0b7cef5..a598121 100644
--- a/src/libaudtag/Makefile
+++ b/src/libaudtag/Makefile
@@ -16,6 +16,6 @@ INCLUDES = audtag.h
 include ../../buildsys.mk
 include ../../extra.mk
 
-CPPFLAGS += ${GLIB_CFLAGS} -D_AUDACIOUS_CORE -I.. -I../..
+CPPFLAGS += ${GLIB_CFLAGS} -D_AUDACIOUS_CORE
 CFLAGS += ${LIB_CFLAGS}
 LIBS += ${GLIB_LIBS} -L../libaudcore -laudcore
diff --git a/src/libeggsmclient/Makefile b/src/libeggsmclient/Makefile
index bd5999b..85f28c4 100644
--- a/src/libeggsmclient/Makefile
+++ b/src/libeggsmclient/Makefile
@@ -5,5 +5,5 @@ SRCS = eggdesktopfile.c eggsmclient.c eggsmclient-xsmp.c
 include ../../buildsys.mk
 include ../../extra.mk
 
-CPPFLAGS += ${GLIB_CFLAGS} ${GTK_CFLAGS} ${SM_CFLAGS} -I../.. -DEGG_SM_CLIENT_BACKEND_XSMP
+CPPFLAGS += ${GLIB_CFLAGS} ${GTK_CFLAGS} ${SM_CFLAGS} -DEGG_SM_CLIENT_BACKEND_XSMP
 LIBS += ${GLIB_LIBS} ${GTK_LIBS} ${SM_LIBS}
