Harald Welte | 0cdf071 | 2019-06-19 18:15:38 +0200 | [diff] [blame] | 1 | # Copyright 2017 Harald Welte |
| 2 | # Copyright 2018 sysmocom - s.f.m.c. GmbH |
| 3 | # |
| 4 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | # you may not use this file except in compliance with the License. |
| 6 | # You may obtain a copy of the License at |
| 7 | # |
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | # |
| 10 | # Unless required by applicable law or agreed to in writing, software |
| 11 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | # See the License for the specific language governing permissions and |
| 14 | # limitations under the License. |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 15 | |
Harald Welte | 8aefd11 | 2020-02-18 21:47:06 +0100 | [diff] [blame] | 16 | ECLIPSEGITHUB:=https://github.com/eclipse |
Oliver Smith | 36cb88c | 2020-02-10 10:38:13 +0100 | [diff] [blame] | 17 | ECLIPSEGIT2:=https://git.eclipse.org/r/titan |
Harald Welte | 701b574 | 2018-01-22 11:29:13 +0100 | [diff] [blame] | 18 | OSMOGITHUB:=https://github.com/osmocom |
Harald Welte | 3103fce | 2018-05-26 13:58:31 +0200 | [diff] [blame] | 19 | OSMOGIT:=git://git.osmocom.org |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 20 | |
Harald Welte | 8aefd11 | 2020-02-18 21:47:06 +0100 | [diff] [blame] | 21 | ECLIPSEGITHUB_REPOS= titan.Libraries.TCCUsefulFunctions \ |
Oliver Smith | 66fde76 | 2019-11-29 15:38:52 +0100 | [diff] [blame] | 22 | titan.ProtocolModules.DNS \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 23 | titan.ProtocolModules.ICMP \ |
| 24 | titan.ProtocolModules.ICMPv6 \ |
| 25 | titan.ProtocolModules.IP \ |
Harald Welte | faa4292 | 2019-03-04 18:31:11 +0100 | [diff] [blame] | 26 | titan.ProtocolModules.JSON_v07_2006 \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 27 | titan.ProtocolModules.L2TP \ |
Harald Welte | b82ca2f | 2020-01-10 14:51:58 +0100 | [diff] [blame] | 28 | titan.ProtocolModules.M3UA \ |
Harald Welte | 36296dc | 2018-04-16 17:37:31 +0200 | [diff] [blame] | 29 | titan.ProtocolModules.SMPP \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 30 | titan.ProtocolModules.TCP \ |
| 31 | titan.ProtocolModules.UDP \ |
| 32 | titan.ProtocolModules.RTP \ |
Harald Welte | 56071b7 | 2019-08-18 19:31:26 +0200 | [diff] [blame] | 33 | titan.ProtocolModules.DIAMETER_ProtocolModule_Generator \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 34 | titan.TestPorts.Common_Components.Socket-API \ |
Harald Welte | faa4292 | 2019-03-04 18:31:11 +0100 | [diff] [blame] | 35 | titan.TestPorts.Common_Components.Abstract_Socket \ |
| 36 | titan.TestPorts.HTTPmsg \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 37 | titan.TestPorts.IPL4asp \ |
| 38 | titan.TestPorts.LANL2asp \ |
| 39 | titan.TestPorts.PCAPasp \ |
Harald Welte | 34b9da2 | 2020-02-18 21:55:07 +0100 | [diff] [blame] | 40 | titan.TestPorts.PIPEasp \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 41 | titan.TestPorts.SIPmsg \ |
Harald Welte | 501e070 | 2020-09-13 11:29:21 +0200 | [diff] [blame] | 42 | titan.TestPorts.TELNETasp \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 43 | titan.TestPorts.TCPasp \ |
Harald Welte | a28dce1 | 2018-04-14 22:04:05 +0200 | [diff] [blame] | 44 | titan.TestPorts.UNIX_DOMAIN_SOCKETasp |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 45 | |
Harald Welte | 501e070 | 2020-09-13 11:29:21 +0200 | [diff] [blame] | 46 | ECLIPSEGIT2_REPOS= titan.ProtocolEmulations.M3UA \ |
| 47 | titan.ProtocolModules.GRE \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 48 | titan.ProtocolModules.M2PA \ |
Harald Welte | 834d67e | 2018-05-26 13:58:03 +0200 | [diff] [blame] | 49 | titan.ProtocolModules.ROSE \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 50 | titan.ProtocolModules.SCTP \ |
| 51 | titan.ProtocolModules.SUA \ |
| 52 | titan.ProtocolModules.SDP \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 53 | titan.ProtocolModules.BSSAPP_v7.3.0 \ |
| 54 | titan.ProtocolModules.BSSGP_v13.0.0 \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 55 | titan.ProtocolModules.GTP_v13.5.0 \ |
| 56 | titan.ProtocolModules.GTPv2_v13.7.0 \ |
| 57 | titan.ProtocolModules.ISUP_Q.762 \ |
Oliver Smith | 36cb88c | 2020-02-10 10:38:13 +0100 | [diff] [blame] | 58 | titan.ProtocolModules.LLC_v7.1.0 \ |
| 59 | titan.ProtocolModules.MobileL3_v13.4.0 \ |
Harald Welte | fc5f637 | 2019-07-09 14:10:05 +0800 | [diff] [blame] | 60 | titan.ProtocolModules.NAS_EPS_15.2.0.1 \ |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 61 | titan.ProtocolModules.NS_v7.3.0 \ |
Harald Welte | b82ca2f | 2020-01-10 14:51:58 +0100 | [diff] [blame] | 62 | titan.ProtocolModules.SGsAP_13.2.0 \ |
Harald Welte | 88b3ccb | 2020-03-12 21:36:32 +0100 | [diff] [blame] | 63 | titan.ProtocolModules.SNDCP_v7.0.0 |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 64 | |
Harald Welte | 6fc784e | 2018-02-25 23:31:37 +0100 | [diff] [blame] | 65 | OSMOGITHUB_REPOS= titan.TestPorts.SCTPasp \ |
Harald Welte | c87abfc | 2018-03-18 10:58:00 +0100 | [diff] [blame] | 66 | titan.TestPorts.MTP3asp \ |
Oliver Smith | 7c5cb6e | 2020-01-16 16:20:54 +0100 | [diff] [blame] | 67 | titan.TestPorts.UDPasp \ |
Oliver Smith | 36cb88c | 2020-02-10 10:38:13 +0100 | [diff] [blame] | 68 | titan.ProtocolEmulations.SCCP |
Harald Welte | 701b574 | 2018-01-22 11:29:13 +0100 | [diff] [blame] | 69 | |
Pau Espin Pedrol | fe0c608 | 2019-05-20 19:20:55 +0200 | [diff] [blame] | 70 | OSMOGIT_REPOS= titan.ProtocolModules.MAP \ |
Harald Welte | f30e22b | 2019-11-14 08:36:19 +0100 | [diff] [blame] | 71 | titan.ProtocolModules.BSSMAP \ |
Harald Welte | 88b3ccb | 2020-03-12 21:36:32 +0100 | [diff] [blame] | 72 | titan.TestPorts.USB \ |
Harald Welte | 023b61b | 2020-09-12 20:41:05 +0200 | [diff] [blame] | 73 | titan.TestPorts.AF_PACKET \ |
Harald Welte | 88b3ccb | 2020-03-12 21:36:32 +0100 | [diff] [blame] | 74 | osmo-uecups |
Harald Welte | 3103fce | 2018-05-26 13:58:31 +0200 | [diff] [blame] | 75 | |
Harald Welte | 8aefd11 | 2020-02-18 21:47:06 +0100 | [diff] [blame] | 76 | ALL_REPOS=$(ECLIPSEGITHUB_REPOS) $(ECLIPSEGIT2_REPOS) $(OSMOGITHUB_REPOS) $(OSMOGIT_REPOS) |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 77 | |
Stefan Sperling | 61c11e9 | 2018-03-20 18:25:26 +0100 | [diff] [blame] | 78 | # Tag names from 'git-describe --tags'; if not available, a commit hash may be used instead. |
| 79 | # In order to keep local changes in the repository of a dependency, set its commit to the |
| 80 | # name of a local branch here (e.g. 'master'). |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 81 | titan.Libraries.TCCUsefulFunctions_commit= R.35.B-6-gb3687da |
Pau Espin Pedrol | ffe4739 | 2020-07-24 11:02:58 +0200 | [diff] [blame] | 82 | titan.ProtocolEmulations.M3UA_commit= f086e78d74defa044d864f17adaad9433fedc961 |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 83 | titan.ProtocolEmulations.SCCP_commit= R.7.A-9-g9e70fba |
| 84 | titan.ProtocolModules.BSSAPP_v7.3.0_commit= R.2.A-4-g20cfaf8 |
| 85 | titan.ProtocolModules.BSSGP_v13.0.0_commit= R.2.A-6-gc447f28 |
Pau Espin Pedrol | fe0c608 | 2019-05-20 19:20:55 +0200 | [diff] [blame] | 86 | titan.ProtocolModules.BSSMAP_commit= master |
Oliver Smith | 66fde76 | 2019-11-29 15:38:52 +0100 | [diff] [blame] | 87 | titan.ProtocolModules.DNS_commit= R.7.B |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 88 | titan.ProtocolModules.GRE_commit= R.2.A-5-g654c446 |
| 89 | titan.ProtocolModules.GTP_v13.5.0_commit= R.2.A-5-ge120ace |
| 90 | titan.ProtocolModules.GTPv2_v13.7.0_commit= R.2.A-5-g85cb124 |
| 91 | titan.ProtocolModules.ICMP_commit= e49d9fb9f7de637b4bf4803dc6b6e911a8661640 |
| 92 | titan.ProtocolModules.ICMPv6_commit= 46f4d9b6e1e3c794294a92588401a81e4881dd27 |
| 93 | titan.ProtocolModules.IP_commit= 1be86705f39ae38f3c04b2109806ee20d25e91d0 |
| 94 | titan.ProtocolModules.ISUP_Q.762_commit= R.8.A-5-g42d428b |
Harald Welte | faa4292 | 2019-03-04 18:31:11 +0100 | [diff] [blame] | 95 | titan.ProtocolModules.JSON_v07_2006_commit= R.1.A |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 96 | titan.ProtocolModules.L2TP_commit= 17e76d3662bd0bb815158e8a9de1ec413f21b530 |
Harald Welte | b82ca2f | 2020-01-10 14:51:58 +0100 | [diff] [blame] | 97 | titan.ProtocolModules.LLC_v7.1.0_commit= 09817f113255d7fb56f1d45d3dd629a093d9248d |
Harald Welte | 3103fce | 2018-05-26 13:58:31 +0200 | [diff] [blame] | 98 | titan.ProtocolModules.MAP_commit= R.2.A-1-g79c6a3d |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 99 | titan.ProtocolModules.M2PA_commit= R.2.A-5-ga75b589 |
Harald Welte | b82ca2f | 2020-01-10 14:51:58 +0100 | [diff] [blame] | 100 | titan.ProtocolModules.M3UA_commit= c496d298876fed55c2b730278b7ee77982555563 |
Vadim Yanitskiy | 35d3a15 | 2020-03-28 00:45:56 +0700 | [diff] [blame] | 101 | titan.ProtocolModules.MobileL3_v13.4.0_commit= badbad680df216b3211260d56b14734eeb2c9028 |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 102 | titan.ProtocolModules.NAS_EPS_15.2.0.1_commit= R.1.A-2-g2ba853c |
| 103 | titan.ProtocolModules.NS_v7.3.0_commit= R.2.A-6-gf73f195 |
| 104 | titan.ProtocolModules.RTP_commit= R.5.A-4-g83ee83a |
Harald Welte | 56071b7 | 2019-08-18 19:31:26 +0200 | [diff] [blame] | 105 | titan.ProtocolModules.DIAMETER_ProtocolModule_Generator_commit= ffd939595a08da1b8c8176aaa1f8578bfe02a912 |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 106 | titan.ProtocolModules.ROSE_commit= R.1.C-5-g0f6774c |
| 107 | titan.ProtocolModules.SCTP_commit= R.2.A-5-g556ef3f |
| 108 | titan.ProtocolModules.SGsAP_13.2.0_commit= R.1.B-3-g5ccaeab |
| 109 | titan.ProtocolModules.SDP_commit= R.14.A-6-g7f00ea0 |
| 110 | titan.ProtocolModules.SMPP_commit= R.2.A-5-gf2c9017 |
| 111 | titan.ProtocolModules.SNDCP_v7.0.0_commit= R.2.A-5-gd0f0ce6 |
| 112 | titan.ProtocolModules.SUA_commit= R.5.A-5-gcf1137a |
| 113 | titan.ProtocolModules.TCP_commit= R.3.A-5-g39e5f45 |
| 114 | titan.ProtocolModules.UDP_commit= R.4.A-5-geea8aa3 |
Harald Welte | 483d314 | 2020-12-10 22:12:55 +0100 | [diff] [blame] | 115 | titan.TestPorts.AF_PACKET_commit= 0.1-1-gcd69809 |
Harald Welte | bc88eac | 2020-01-14 22:20:41 +0100 | [diff] [blame] | 116 | titan.TestPorts.Common_Components.Socket-API_commit= R.6.A-6-gf4380d0 |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 117 | titan.TestPorts.Common_Components.Abstract_Socket_commit= R.9.B-4-gbd41994 |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 118 | titan.TestPorts.HTTPmsg_commit= R.9.B-4-g9a0dfde |
Harald Welte | bc88eac | 2020-01-14 22:20:41 +0100 | [diff] [blame] | 119 | titan.TestPorts.IPL4asp_commit= R.30.E |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 120 | titan.TestPorts.LANL2asp_commit= R.8.C-3-gb07c265 |
Stefan Sperling | 61c11e9 | 2018-03-20 18:25:26 +0100 | [diff] [blame] | 121 | titan.TestPorts.MTP3asp_commit= 1cecdad6f3641a5f19b3833703bff6e5005eff11 |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 122 | titan.TestPorts.PCAPasp_commit= R.8.A-3-g9ad320f |
Harald Welte | 34b9da2 | 2020-02-18 21:55:07 +0100 | [diff] [blame] | 123 | titan.TestPorts.PIPEasp_commit= R.7.D-3-g8b01154 |
Stefan Sperling | 61c11e9 | 2018-03-20 18:25:26 +0100 | [diff] [blame] | 124 | titan.TestPorts.SCTPasp_commit= R.11.A-2-g2faa9cf |
| 125 | titan.TestPorts.SIPmsg_commit= R.15.A-1-ge4f9dd0 |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 126 | titan.TestPorts.TCPasp_commit= R.9.A-5-g2c91bc6 |
Harald Welte | 501e070 | 2020-09-13 11:29:21 +0200 | [diff] [blame] | 127 | titan.TestPorts.TELNETasp_commit= 873fe539642542cd9a901c208f1ec11c6d2f5387 |
Oliver Smith | 39ca7c3 | 2020-01-24 15:36:39 +0100 | [diff] [blame] | 128 | titan.TestPorts.UDPasp_commit= c20d77a34f288dd70dd4aaa30e520778876e9336 |
Harald Welte | 6cb85a6 | 2020-01-10 16:36:29 +0100 | [diff] [blame] | 129 | titan.TestPorts.UNIX_DOMAIN_SOCKETasp_commit= R.2.A-8-g7ec4fe0 |
Harald Welte | f30e22b | 2019-11-14 08:36:19 +0100 | [diff] [blame] | 130 | titan.TestPorts.USB_commit= master |
Harald Welte | 88b3ccb | 2020-03-12 21:36:32 +0100 | [diff] [blame] | 131 | osmo-uecups_commit= master |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 132 | |
Stefan Sperling | 61c11e9 | 2018-03-20 18:25:26 +0100 | [diff] [blame] | 133 | all: $(foreach dir,$(ALL_REPOS),$(dir)/update) |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 134 | clean: $(foreach dir,$(ALL_REPOS),$(dir)/clean) |
Stefan Sperling | a2b5449 | 2018-03-22 10:22:25 +0100 | [diff] [blame] | 135 | distclean: $(foreach dir,$(ALL_REPOS),$(dir)/distclean) |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 136 | |
| 137 | define GIT_template |
Stefan Sperling | 61c11e9 | 2018-03-20 18:25:26 +0100 | [diff] [blame] | 138 | $(1)_ORIGIN!= if [ -d $(1) ]; then cd $(1) && git remote get-url origin; fi |
| 139 | $(1)_HEAD!= if [ -d $(1) ]; then cd $(1) && git describe --tags 2>/dev/null || git rev-parse HEAD; fi |
Stefan Sperling | a2b5449 | 2018-03-22 10:22:25 +0100 | [diff] [blame] | 140 | $(1)_MODIFIED!= if [ -d $(1) ]; then cd $(1) && git diff --quiet --exit-code || echo -n "1"; fi |
Stefan Sperling | 61c11e9 | 2018-03-20 18:25:26 +0100 | [diff] [blame] | 141 | |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 142 | $(1): |
| 143 | git clone $(2)/$(1) |
| 144 | |
Stefan Sperling | 61c11e9 | 2018-03-20 18:25:26 +0100 | [diff] [blame] | 145 | .PHONY: $(1)/update |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 146 | $(1)/update: $(1) |
Stefan Sperling | a2b5449 | 2018-03-22 10:22:25 +0100 | [diff] [blame] | 147 | ifeq ($$($(1)_MODIFIED),1) |
| 148 | @echo "WARNING: $(1) skipped because it contains uncommitted modifications!" |
| 149 | else |
Stefan Sperling | 61c11e9 | 2018-03-20 18:25:26 +0100 | [diff] [blame] | 150 | ifneq ($$($(1)_ORIGIN),$(2)/$(1)) |
| 151 | cd $(1) && git remote set-url origin $(2)/$(1) && git fetch |
| 152 | endif |
| 153 | ifneq ($$($(1)_HEAD),$($(1)_commit)) |
Harald Welte | 035f7f8 | 2018-03-27 20:49:27 +0200 | [diff] [blame] | 154 | cd $(1) && git fetch && git checkout -q -f "$($(1)_commit)" |
Stefan Sperling | 61c11e9 | 2018-03-20 18:25:26 +0100 | [diff] [blame] | 155 | endif |
Stefan Sperling | a2b5449 | 2018-03-22 10:22:25 +0100 | [diff] [blame] | 156 | endif |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 157 | |
| 158 | .PHONY: $(1)/clean |
Harald Welte | 4c294b6 | 2018-02-15 18:27:10 +0100 | [diff] [blame] | 159 | $(1)/clean: $(1) |
Stefan Sperling | a2b5449 | 2018-03-22 10:22:25 +0100 | [diff] [blame] | 160 | ifeq ($$($(1)_MODIFIED),1) |
| 161 | @echo "WARNING: $(1) skipped because it contains uncommitted modifications!" |
| 162 | else |
Harald Welte | 035f7f8 | 2018-03-27 20:49:27 +0200 | [diff] [blame] | 163 | cd $(1) && git fetch && git checkout -q -f "$($(1)_commit)" && git reset --hard |
Stefan Sperling | a2b5449 | 2018-03-22 10:22:25 +0100 | [diff] [blame] | 164 | endif |
Harald Welte | 4c294b6 | 2018-02-15 18:27:10 +0100 | [diff] [blame] | 165 | |
| 166 | .PHONY: $(1)/distclean |
| 167 | $(1)/distclean: |
Stefan Sperling | a2b5449 | 2018-03-22 10:22:25 +0100 | [diff] [blame] | 168 | ifeq ($$($(1)_MODIFIED),1) |
| 169 | @echo "WARNING: $(1) skipped because it contains uncommitted modifications!" |
| 170 | else |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 171 | @rm -rf $(1) |
Stefan Sperling | a2b5449 | 2018-03-22 10:22:25 +0100 | [diff] [blame] | 172 | endif |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 173 | endef |
| 174 | |
Harald Welte | 8aefd11 | 2020-02-18 21:47:06 +0100 | [diff] [blame] | 175 | $(foreach dir,$(ECLIPSEGITHUB_REPOS), \ |
| 176 | $(eval $(call GIT_template,$(dir),$(ECLIPSEGITHUB)))) |
Harald Welte | 6807982 | 2017-12-12 16:30:53 +0100 | [diff] [blame] | 177 | |
| 178 | $(foreach dir,$(ECLIPSEGIT2_REPOS), \ |
| 179 | $(eval $(call GIT_template,$(dir),$(ECLIPSEGIT2)))) |
Harald Welte | 701b574 | 2018-01-22 11:29:13 +0100 | [diff] [blame] | 180 | |
| 181 | $(foreach dir,$(OSMOGITHUB_REPOS), \ |
| 182 | $(eval $(call GIT_template,$(dir),$(OSMOGITHUB)))) |
Harald Welte | 3103fce | 2018-05-26 13:58:31 +0200 | [diff] [blame] | 183 | |
| 184 | $(foreach dir,$(OSMOGIT_REPOS), \ |
| 185 | $(eval $(call GIT_template,$(dir),$(OSMOGIT)))) |