Add packages.mk

- For each folder in ROOTDIR/packages, generate a make target that runs
dpkg-buildpackage and moves it to the output folder.

Change-Id: Ic606abdc0c60df89f45fa22a2bff922a606c3853
diff --git a/Makefile b/Makefile
index 3087c3e..13670aa 100644
--- a/Makefile
+++ b/Makefile
@@ -32,6 +32,7 @@
 include $(ROOTDIR)/build/img2simg.mk
 include $(ROOTDIR)/build/kernel.mk
 include $(ROOTDIR)/build/partition-table.mk
+include $(ROOTDIR)/build/packages.mk
 include $(ROOTDIR)/build/prereqs.mk
 include $(ROOTDIR)/build/rootfs.mk
 include $(ROOTDIR)/build/sdcard.mk
diff --git a/packages.mk b/packages.mk
new file mode 100644
index 0000000..ccd8296
--- /dev/null
+++ b/packages.mk
@@ -0,0 +1,15 @@
+PACKAGES_DIRS := $(wildcard $(ROOTDIR)/packages/*)
+PACKAGES := $(foreach package,$(PACKAGES_DIRS),$(notdir $(package)))
+
+define make-package-target
+$1: $(PRODUCT_OUT)/.$1
+$(PRODUCT_OUT)/.$1: $(shell find $(ROOTDIR)/packages/$1 -type f)
+	cd $(ROOTDIR)/packages/$1; dpkg-buildpackage -b -rfakeroot -us -uc -tc
+	mv $(ROOTDIR)/packages/$1_* $(PRODUCT_OUT)/
+	touch $(PRODUCT_OUT)/.$1
+endef
+
+$(foreach package,$(PACKAGES),$(eval $(call make-package-target,$(package))))
+
+packages:: $(foreach package,$(PACKAGES),$(PRODUCT_OUT)/.$(package))
+.PHONY:: packages
\ No newline at end of file