|
@@ -22,8 +22,8 @@ endif
|
|
|
endif
|
|
|
export ERL_LIBS
|
|
|
|
|
|
-PKG_FILE ?= $(CURDIR)/.erlang.mk.packages.v2
|
|
|
-export PKG_FILE
|
|
|
+PKG_FILE2 ?= $(CURDIR)/.erlang.mk.packages.v2
|
|
|
+export PKG_FILE2
|
|
|
|
|
|
PKG_FILE_URL ?= https://raw.githubusercontent.com/extend/erlang.mk/master/packages.v2.tsv
|
|
|
|
|
@@ -42,25 +42,31 @@ 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 (,$(dep_$(1)))
|
|
|
- @if [ ! -f $(PKG_FILE) ]; then $(call core_http_get,$(PKG_FILE),$(PKG_FILE_URL)); fi
|
|
|
- $(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
|
|
|
+ if [ "$$$$VS" = "git" ]; then \
|
|
|
+ git clone -n -- $$$$REPO $(DEPS_DIR)/$(1); \
|
|
|
+ cd $(DEPS_DIR)/$(1) && git checkout -q $$$$COMMIT; \
|
|
|
+ else \
|
|
|
+ exit 78; \
|
|
|
+ fi
|
|
|
endef
|
|
|
|
|
|
define dep_target
|
|
|
$(DEPS_DIR)/$(1):
|
|
|
+ @mkdir -p $(DEPS_DIR)
|
|
|
+ @if [ ! -f $(PKG_FILE2) ]; then $(call core_http_get,$(PKG_FILE2),$(PKG_FILE_URL)); fi
|
|
|
+ifeq (,$(dep_$(1)))
|
|
|
+ DEPPKG=$$$$(awk 'BEGIN { FS = "\t" }; $$$$1 == "$(1)" { print $$$$2 " " $$$$3 " " $$$$4 }' $(PKG_FILE2);) \
|
|
|
+ VS=$$$$(echo $$$$DEPPKG | cut -d " " -f1); \
|
|
|
+ REPO=$$$$(echo $$$$DEPPKG | cut -d " " -f2); \
|
|
|
+ COMMIT=$$$$(echo $$$$DEPPKG | cut -d " " -f3); \
|
|
|
$(call dep_fetch,$(1))
|
|
|
+else
|
|
|
+ VS=$(word 1,$(dep_$(1))); \
|
|
|
+ REPO=$(word 1,$(dep_$(2))); \
|
|
|
+ COMMIT=$(word 1,$(dep_$(3))); \
|
|
|
+ $(call dep_fetch,$(1))
|
|
|
+endif
|
|
|
endef
|
|
|
|
|
|
$(foreach dep,$(DEPS),$(eval $(call dep_target,$(dep))))
|
|
@@ -70,19 +76,19 @@ distclean-deps:
|
|
|
|
|
|
# Packages related targets.
|
|
|
|
|
|
-$(PKG_FILE):
|
|
|
- $(call core_http_get,$(PKG_FILE),$(PKG_FILE_URL))
|
|
|
+$(PKG_FILE2):
|
|
|
+ $(call core_http_get,$(PKG_FILE2),$(PKG_FILE_URL))
|
|
|
|
|
|
-pkg-list: $(PKG_FILE)
|
|
|
- @cat $(PKG_FILE) | awk 'BEGIN { FS = "\t" }; { print \
|
|
|
+pkg-list: $(PKG_FILE2)
|
|
|
+ @cat $(PKG_FILE2) | awk 'BEGIN { FS = "\t" }; { print \
|
|
|
"Name:\t\t" $$1 "\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 \
|
|
|
+pkg-search: $(PKG_FILE2)
|
|
|
+ @cat $(PKG_FILE2) | grep -i ${q} | awk 'BEGIN { FS = "\t" }; { print \
|
|
|
"Name:\t\t" $$1 "\n" \
|
|
|
"Repository:\t" $$3 "\n" \
|
|
|
"Website:\t" $$5 "\n" \
|
|
@@ -93,7 +99,7 @@ pkg-search:
|
|
|
endif
|
|
|
|
|
|
distclean-pkg:
|
|
|
- $(gen_verbose) rm -f $(PKG_FILE)
|
|
|
+ $(gen_verbose) rm -f $(PKG_FILE2)
|
|
|
|
|
|
help::
|
|
|
@printf "%s\n" "" \
|