aboutsummaryrefslogtreecommitdiffstats
path: root/deps/Makefile
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-12-12 16:30:53 +0100
committerHarald Welte <laforge@gnumonks.org>2017-12-12 16:30:53 +0100
commit6807982106c0e3ec1837421c0e69e8531a8c3b28 (patch)
tree70eb3c082e43f8491dd7634271766b99ef383241 /deps/Makefile
parent4c5ef5b3e1bb7775386a6c6c2e9b00b3456c59d8 (diff)
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.
Diffstat (limited to 'deps/Makefile')
-rw-r--r--deps/Makefile67
1 files changed, 67 insertions, 0 deletions
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))))