Makefile.http 1.52 KB
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)