PKG_NAME = my_pkg # name of the package PKG_URL = http://example.com/downloads # source url of the package e.g. a git repository PKG_VERSION = v1.2.3 # version of the package to use e.g. a git commit/ref PKG_EXT = zip # extension of this package ifneq ($(RIOTBASE),) include $(RIOTBASE)/Makefile.base endif .PHONY: all clean patch distclean all: patch $(MAKE) -C $(CURDIR)/$(PKG_NAME)-$(PKG_VERSION) patch: $(CURDIR)/$(PKG_NAME)-$(PKG_VERSION)/Makefile # Dependancy might be changed accordingly though we think the Makefile # will be the first thing you want to change # # Here might not happen anything besides dependancy checks $(CURDIR)/$(PKG_NAME)-$(PKG_VERSION)/Makefile: $(CURDIR)/$(PKG_NAME)-$(PKG_VERSION)/ # Here you apply your patch. cd $< && patch ../patch.txt $(CURDIR)/$(PKG_NAME)-$(PKG_VERSION)/: $(CURDIR)/$(PKG_NAME)-$(PKG_VERSION).$(PKG_EXT) # Here you unpack the file. # This example assumes the common pattern that the archive contains its data in a subfolder with the same name as itself. $(Q)$(UNZIP_HERE) $< $(CURDIR)/$(PKG_NAME)-$(PKG_VERSION).$(PKG_EXT): # Get PKG_VERSION of package from PKG_URL $(Q)$(DOWNLOAD_TO_FILE) $@ $(PKG_URL)/$(PKG_NAME)-$(PKG_VERSION).$(PKG_EXT) clean:: # Reset package to checkout state. rm -rf $(CURDIR)/$(PKG_NAME)-$(PKG_VERSION) && \ $(MAKE) $(CURDIR)/$(PKG_NAME)-$(PKG_VERSION)/Makefile distclean:: rm -rf $(CURDIR)/$(PKG_NAME)-$(PKG_VERSION) $(CURDIR)/$(PKG_NAME)-$(PKG_VERSION).$(PKG_EXT)