diff options
Diffstat (limited to 'core/deps.mk')
-rw-r--r-- | core/deps.mk | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/core/deps.mk b/core/deps.mk index 27eefe5..9491b3f 100644 --- a/core/deps.mk +++ b/core/deps.mk @@ -22,10 +22,10 @@ endif endif export ERL_LIBS -PKG_FILE ?= $(CURDIR)/.erlang.mk.packages.v1 +PKG_FILE ?= $(CURDIR)/.erlang.mk.packages.v2 export PKG_FILE -PKG_FILE_URL ?= https://raw.githubusercontent.com/extend/erlang.mk/master/packages.v1.tsv +PKG_FILE_URL ?= https://raw.githubusercontent.com/extend/erlang.mk/master/packages.v2.tsv # Core targets. @@ -42,17 +42,20 @@ distclean:: distclean-deps distclean-pkg # Deps related targets. +define dep_fetch_git + git clone -n -- $(2) $(DEPS_DIR)/$(1) + cd $(DEPS_DIR)/$(1) ; git checkout -q $(3) +endef + define dep_fetch @mkdir -p $(DEPS_DIR) -ifeq (,$(findstring pkg://,$(word 1,$(dep_$(1))))) - git clone -n -- $(word 1,$(dep_$(1))) $(DEPS_DIR)/$(1) -else +ifeq (,$(dep_$(1))) @if [ ! -f $(PKG_FILE) ]; then $(call core_http_get,$(PKG_FILE),$(PKG_FILE_URL)); fi - git clone -n -- `awk 'BEGIN { FS = "\t" }; \ - $$$$1 == "$(subst pkg://,,$(word 1,$(dep_$(1))))" { print $$$$2 }' \ - $(PKG_FILE)` $(DEPS_DIR)/$(1) + $(eval DEP_FETCH_PKG := $(shell awk 'BEGIN { FS = "\t" }; $$1 == "$(1)" { print $$2 " " $$3 " "$$4 }' $(PKG_FILE))) + $(call dep_fetch_$(word 1,$(DEP_FETCH_PKG)),$(1),$(word 2,$(DEP_FETCH_PKG)),$(word 3,$(DEP_FETCH_PKG))) +else + $(call dep_fetch_$(word 1,$(dep_$(1))),$(1),$(word 2,$(dep_$(1))),$(word 3,$(dep_$(1)))) endif - cd $(DEPS_DIR)/$(1) ; git checkout -q $(word 2,$(dep_$(1))) endef define dep_target @@ -73,17 +76,17 @@ $(PKG_FILE): pkg-list: $(PKG_FILE) @cat $(PKG_FILE) | awk 'BEGIN { FS = "\t" }; { print \ "Name:\t\t" $$1 "\n" \ - "Repository:\t" $$2 "\n" \ - "Website:\t" $$3 "\n" \ - "Description:\t" $$4 "\n" }' + "Repository:\t" $$3 "\n" \ + "Website:\t" $$5 "\n" \ + "Description:\t" $$6 "\n" }' ifdef q pkg-search: $(PKG_FILE) @cat $(PKG_FILE) | grep -i ${q} | awk 'BEGIN { FS = "\t" }; { print \ "Name:\t\t" $$1 "\n" \ - "Repository:\t" $$2 "\n" \ - "Website:\t" $$3 "\n" \ - "Description:\t" $$4 "\n" }' + "Repository:\t" $$3 "\n" \ + "Website:\t" $$5 "\n" \ + "Description:\t" $$6 "\n" }' else pkg-search: @echo "Usage: make pkg-search q=STRING" |