diff --git a/subr/pkg_install_subdirs.subr b/subr/pkg_install_subdirs.subr
index c63eda7..9ab301b 100644
--- a/subr/pkg_install_subdirs.subr
+++ b/subr/pkg_install_subdirs.subr
@@ -3,15 +3,14 @@
 #
 
 pkg_install_subdirs() {
-	pkg_install_files "${PWD}/.."		\
-		/=destdir			\
-		/=destdir/bin			\
-		/=destdir/lib			\
-		/=destdir/sbin			\
-		/=destdir/share/man/man1	\
-		/=destdir/share/man		\
-		@.=destdir/usr			\
-		@share/man=destdir/man;
+	pkg_install_files "${PKG_DESTDIR}"	\
+		/=bin				\
+		/=lib				\
+		/=sbin				\
+		/=share/man/man1		\
+		/=share/man			\
+		@.=usr				\
+		@share/man=man;
 };
 
 # vim:filetype=sh
diff --git a/vars/libfirm.vars b/vars/libfirm.vars
index b989897..87a75c6 100644
--- a/vars/libfirm.vars
+++ b/vars/libfirm.vars
@@ -2,24 +2,17 @@
 # set -o errexit -o noglob are assumed.
 #
 
-pkg_libfirm_configure_pre() {
-	build_fileop mkdir cparser+libfirm/sysroot cparser+libfirm/build/libfirm;
-};
-
 pkg_cparser_configure_pre() {
-	build_fileop mkdir cparser+libfirm/sysroot cparser+libfirm/build/cparser;
-	export CFLAGS_PATH="-I../../sysroot/include";
-	export LDFLAGS_PATH="-L../../sysroot/lib";
+	export CFLAGS_PATH="-I${PKG_DESTDIR}/include";
+	export LDFLAGS_PATH="-L${PKG_DESTDIR}/lib";
 };
 
 pkg_libfirm_install_make() {
-	make ${PKG_MAKEFLAGS_BUILD} DESTDIR=../../sysroot install;
-	make ${PKG_MAKEFLAGS_BUILD} DESTDIR="${PREFIX_NATIVE}" install;
+	make ${PKG_MAKEFLAGS_BUILD} DESTDIR="${PKG_DESTDIR}" install;
 };
 
 pkg_cparser_install_make() {
-	make ${PKG_MAKEFLAGS_BUILD} DESTDIR=../../sysroot install;
-	make ${PKG_MAKEFLAGS_BUILD} DESTDIR="${PREFIX_NATIVE}" install;
+	make ${PKG_MAKEFLAGS_BUILD} DESTDIR="${PKG_DESTDIR}" install;
 };
 
 # vim:filetype=sh