diff --git a/openwrt/package/dropbear/Makefile b/openwrt/package/dropbear/Makefile
index 46b1dd7ad055563558ed01e070850dd41deb7cf1..bc3ff0d7bec52d64260e6dd225358b1609194152 100644
--- a/openwrt/package/dropbear/Makefile
+++ b/openwrt/package/dropbear/Makefile
@@ -2,47 +2,57 @@
 
 include $(TOPDIR)/rules.mk
 
-DROPBEAR_VERSION:=0.45
-DROPBEAR_RELEASE:=2
-DROPBEAR_MD5SUM:=2bcc46e4c239aec982bf36a723dd0b0e
+PKG_NAME:=dropbear
+PKG_VERSION:=0.45
+PKG_RELEASE:=2
+PKG_MD5SUM:=2bcc46e4c239aec982bf36a723dd0b0e
 
-DROPBEAR_SOURCE:=dropbear-$(DROPBEAR_VERSION).tar.bz2
-DROPBEAR_SITE:=http://matt.ucc.asn.au/dropbear/releases/
-DROPBEAR_DIR:=$(BUILD_DIR)/dropbear-$(DROPBEAR_VERSION)
-DROPBEAR_CAT:=bzcat
-DROPBEAR_BINARY:=dropbearmulti
-DROPBEAR_TARGET_BINARY:=usr/sbin/dropbear
-DROPBEAR_IPK:=dropbear_$(DROPBEAR_VERSION)-$(DROPBEAR_RELEASE)_$(ARCH).ipk
-DROPBEAR_IPK_DIR:=$(DROPBEAR_DIR)/ipkg
+PKG_SOURCE_URL:= \
+	http://matt.ucc.asn.au/dropbear/releases/ \
+	http://nthill.free.fr/openwrt/sources/$(PKG_NAME)/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_CAT:=bzcat
 
-$(DL_DIR)/$(DROPBEAR_SOURCE):
-	 $(SCRIPT_DIR)/download.pl $(DL_DIR) $(DROPBEAR_SOURCE) $(DROPBEAR_MD5SUM) $(DROPBEAR_SITE)
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 
-$(DROPBEAR_DIR)/.patched: $(DL_DIR)/$(DROPBEAR_SOURCE)
-	$(DROPBEAR_CAT) $(DL_DIR)/$(DROPBEAR_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-	$(PATCH) $(DROPBEAR_DIR) ./patches \*.patch
-	$(SED) 's,^/\* #define DROPBEAR_MULTI.*,#define DROPBEAR_MULTI,g' $(DROPBEAR_DIR)/options.h
-	touch $(DROPBEAR_DIR)/.patched
+IPKG_DROPBEAR:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
+IDIR_DROPBEAR:=$(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)
+INFO_DROPBEAR:=$(IPKG_STATE_DIR)/info/$(PKG_NAME).list
 
-$(DROPBEAR_DIR)/.configured: $(DROPBEAR_DIR)/.patched
-	(cd $(DROPBEAR_DIR); rm -rf config.cache; \
+$(DL_DIR)/$(PKG_SOURCE):
+	 $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL)
+
+$(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE)
+	$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+	$(PATCH) $(PKG_BUILD_DIR) ./patches \*.patch
+	$(SED) 's,^/\* #define PKG_MULTI.*,#define PKG_MULTI,g' $(PKG_BUILD_DIR)/options.h
+	touch $(PKG_BUILD_DIR)/.prepared
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
+	(cd $(PKG_BUILD_DIR); rm -rf config.cache; \
 		autoconf; \
 		$(TARGET_CONFIGURE_OPTS) \
-		CFLAGS="$(TARGET_CFLAGS)" \
+		CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
+		LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
 		./configure \
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
+		--program-prefix="" \
+		--program-suffix="" \
 		--prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
-		--sbindir=/usr/sbin \
-		--libexecdir=/usr/lib \
-		--sysconfdir=/etc \
 		--datadir=/usr/share \
+		--includedir=/usr/include \
+		--infodir=/usr/share/info \
+		--libdir=/usr/lib \
+		--libexecdir=/usr/lib \
 		--localstatedir=/var \
-		--mandir=/usr/man \
-		--infodir=/usr/info \
+		--mandir=/usr/share/man \
+		--sbindir=/usr/sbin \
+		--sysconfdir=/etc \
+		$(DISABLE_LARGEFILE) \
 		$(DISABLE_NLS) \
 		--with-shared \
 		--disable-pam \
@@ -58,38 +68,38 @@ $(DROPBEAR_DIR)/.configured: $(DROPBEAR_DIR)/.patched
 		--disable-pututline \
 		--disable-pututxline \
 	);
-	touch  $(DROPBEAR_DIR)/.configured
+	touch  $(PKG_BUILD_DIR)/.configured
 
-$(DROPBEAR_DIR)/$(DROPBEAR_BINARY): $(DROPBEAR_DIR)/.configured
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) LD=$(TARGET_CC) \
+$(PKG_BUILD_DIR)/dropbearmulti: $(PKG_BUILD_DIR)/.configured
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		LD=$(TARGET_CC) \
 		PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" \
-		MULTI=1 SCPPROGRESS=1 -C $(DROPBEAR_DIR)
+		MULTI=1 SCPPROGRESS=1
 
-$(PACKAGE_DIR)/$(DROPBEAR_IPK): $(DROPBEAR_DIR)/$(DROPBEAR_BINARY)
-	$(SCRIPT_DIR)/make-ipkg-dir.sh $(DROPBEAR_IPK_DIR) dropbear.control $(DROPBEAR_VERSION)-$(DROPBEAR_RELEASE) $(ARCH)
-	mkdir -p $(DROPBEAR_IPK_DIR)/usr/bin
-	mkdir -p $(DROPBEAR_IPK_DIR)/usr/sbin
-	install -m 755 $(DROPBEAR_DIR)/$(DROPBEAR_BINARY) \
-		$(DROPBEAR_IPK_DIR)/$(DROPBEAR_TARGET_BINARY)
-	$(STRIP) $(DROPBEAR_IPK_DIR)/usr/sbin/dropbear
-	ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/scp
-	ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/ssh
-	ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/dbclient
-	ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/dropbearkey
-	ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/dropbearconvert
-	mkdir -p $(DROPBEAR_IPK_DIR)/etc/init.d
-	install -m 755 ./files/S50dropbear $(DROPBEAR_IPK_DIR)/etc/init.d/
-	$(IPKG_BUILD) $(DROPBEAR_IPK_DIR) $(PACKAGE_DIR)
+$(IPKG_DROPBEAR): $(PKG_BUILD_DIR)/dropbearmulti
+	$(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_DROPBEAR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
+	mkdir -p $(IDIR_DROPBEAR)/usr/bin
+	mkdir -p $(IDIR_DROPBEAR)/usr/sbin
+	install -m 755 $(PKG_BUILD_DIR)/dropbearmulti \
+		$(IDIR_DROPBEAR)/usr/sbin/dropbear
+	$(STRIP) $(IDIR_DROPBEAR)/usr/sbin/dropbear
+	ln -sf ../sbin/dropbear $(IDIR_DROPBEAR)/usr/bin/scp
+	ln -sf ../sbin/dropbear $(IDIR_DROPBEAR)/usr/bin/ssh
+	ln -sf ../sbin/dropbear $(IDIR_DROPBEAR)/usr/bin/dbclient
+	ln -sf ../sbin/dropbear $(IDIR_DROPBEAR)/usr/bin/dropbearkey
+	ln -sf ../sbin/dropbear $(IDIR_DROPBEAR)/usr/bin/dropbearconvert
+	mkdir -p $(IDIR_DROPBEAR)/etc/init.d
+	install -m 755 ./files/S50dropbear $(IDIR_DROPBEAR)/etc/init.d/
+	$(IPKG_BUILD) $(IDIR_DROPBEAR) $(PACKAGE_DIR)
 
-$(IPKG_STATE_DIR)/info/dropbear.list: $(PACKAGE_DIR)/$(DROPBEAR_IPK)
-	$(IPKG) install $(PACKAGE_DIR)/$(DROPBEAR_IPK)
+$(INFO_DROPBEAR): $(IPKG_DROPBEAR)
+	$(IPKG) install $(IPKG_DROPBEAR)
 
-source: $(DL_DIR)/$(DROPBEAR_SOURCE)
-prepare: $(DROPBEAR_DIR)/.patched
-compile: $(PACKAGE_DIR)/$(DROPBEAR_IPK)
-install: $(IPKG_STATE_DIR)/info/dropbear.list
+source: $(DL_DIR)/$(PKG_SOURCE)
+prepare: $(PKG_BUILD_DIR)/.prepared
+compile: $(IPKG_DROPBEAR)
+install: $(INFO_DROPBEAR)
 
 clean:
-	rm -rf $(DROPBEAR_DIR)
-	rm -f $(PACKAGE_DIR)/$(DROPBEAR_IPK)
+	rm -rf $(PKG_BUILD_DIR) $(IPKG_DROPBEAR)