From 6807982106c0e3ec1837421c0e69e8531a8c3b28 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 12 Dec 2017 16:30:53 +0100 Subject: Makefile: clone dependencies into 'deps' folder We used to rely on out-of-tree git clones to be prepared by the user. This commit changes the system to make sure we clone all git repos we depend upon into the 'deps' folder, and then setup the symlinks to that folder. As a result, we should be able to support self-contained builds using the makefiles in this repo. --- deps/Makefile | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 deps/Makefile (limited to 'deps') diff --git a/deps/Makefile b/deps/Makefile new file mode 100644 index 00000000..ac664930 --- /dev/null +++ b/deps/Makefile @@ -0,0 +1,67 @@ + +ECLIPSEGIT:=https://github.com/eclipse +ECLIPSEGIT2:=git://git.eclipse.org/gitroot/titan + +ECLIPSEGIT_REPOS= titan.Libraries.TCCUsefulFunctions \ + titan.ProtocolModules.ICMP \ + titan.ProtocolModules.ICMPv6 \ + titan.ProtocolModules.IP \ + titan.ProtocolModules.L2TP \ + titan.ProtocolModules.M3UA \ + titan.ProtocolModules.SMPP \ + titan.ProtocolModules.TCP \ + titan.ProtocolModules.UDP \ + titan.ProtocolModules.RTP \ + titan.TestPorts.Common_Components.Socket-API \ + titan.TestPorts.IPL4asp \ + titan.TestPorts.LANL2asp \ + titan.TestPorts.PCAPasp \ + titan.TestPorts.SCTPasp \ + titan.TestPorts.SIPmsg \ + titan.TestPorts.TCPasp \ + titan.TestPorts.TELNETasp \ + titan.TestPorts.UDPasp \ + titan.TestPorts.UNIX_DOMAIN_SOCKETasp + +ECLIPSEGIT2_REPOS= titan.ProtocolModules.GRE \ + titan.ProtocolModules.M2PA \ + titan.ProtocolModules.SCTP \ + titan.ProtocolModules.SUA \ + titan.ProtocolModules.SDP \ + titan.TestPorts.GPIO \ + titan.ProtocolModules.BSSAPP_v7.3.0 \ + titan.ProtocolModules.BSSGP_v13.0.0 \ + titan.ProtocolModules.BSSMAP_v11.2.0 \ + titan.ProtocolModules.GTP_v13.5.0 \ + titan.ProtocolModules.GTPv2_v13.7.0 \ + titan.ProtocolModules.ISUP_Q.762 \ + titan.ProtocolModules.LLC_v7.1.0 \ + titan.ProtocolModules.MobileL3_v13.4.0 \ + titan.ProtocolModules.NS_v7.3.0 \ + titan.ProtocolModules.SNDCP_v7.0.0 + +ALL_REPOS=$(ECLIPSEGIT_REPOS) $(ECLIPSEGIT2_REPOS) + +all: $(ALL_REPOS) + +update: $(foreach dir,$(ALL_REPOS),$(dir)/update) +clean: $(foreach dir,$(ALL_REPOS),$(dir)/clean) + +define GIT_template +$(1): + git clone $(2)/$(1) + +.PHONY:$(1)/update +$(1)/update: $(1) + (cd $(1) && git fetch && git checkout -f -B master) + +.PHONY: $(1)/clean +$(1)/clean: + @rm -rf $(1) +endef + +$(foreach dir,$(ECLIPSEGIT_REPOS), \ + $(eval $(call GIT_template,$(dir),$(ECLIPSEGIT)))) + +$(foreach dir,$(ECLIPSEGIT2_REPOS), \ + $(eval $(call GIT_template,$(dir),$(ECLIPSEGIT2)))) -- cgit v1.2.3