Imported repo descriptor-packages/
[osm/devops.git] / descriptor-packages / Makefile
1 #
2 # Copyright 2016 RIFT.IO Inc
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.
15 #
16 # Author(s): Austin Cormier
17 # Creation Date: 2016/05/23
18 #
19 BUILD_DIR = build
20
21 NSDS := \
22 gw_corpa_ns \
23 ims_allin1_corpa \
24 mwc16_gen_ns \
25 mwc16_pe_ns \
26 VyOS_ns \
27 cirros_ns \
28 cirros_2vnf_ns \
29 ubuntu_xenial_ns \
30 ping_pong_ns \
31 knt_flownac_ns \
32 knt_flownac-us_ns \
33 sandvine_pts_ns \
34 sonussbc_ns \
35 ref1_ns \
36 ref2_ns \
37 ubuntu_cirros_multidisk_ns
38
39 NSD_SRC_DIR := src/nsd
40 NSD_BUILD_DIR := $(BUILD_DIR)/nsd
41
42 NSD_SRC_DIRS := $(addprefix $(NSD_SRC_DIR)/, $(NSDS))
43 NSD_BUILD_DIRS := $(addprefix $(NSD_BUILD_DIR)/, $(NSDS))
44 NSD_PKGS := $(addsuffix .tar.gz, $(NSDS))
45 NSD_BUILD_PKGS := $(addprefix $(NSD_BUILD_DIR)_pkgs/, $(NSD_PKGS))
46
47 VNFDS := \
48 6wind_vnf \
49 gw_corpa_pe1_vnf \
50 gw_corpa_pe2_vnf \
51 ims_allin1_2p_vnf \
52 tidgen_mwc16_vnf \
53 VyOS_vnf \
54 cirros_vnf \
55 ubuntu_xenial_vnf \
56 ping_vnf \
57 pong_vnf \
58 knt_fnc_vnf \
59 knt_fne_vnf \
60 knt_fnu_vnf \
61 knt_fnd_vnf \
62 sandvine_pts_vnf \
63 sonus_sbc_vnf \
64 sonus_test_vnf \
65 ref11_vnf \
66 ref21_vnf \
67 ref12_vnf \
68 ref22_vnf \
69 ubuntu_cirros_multidisk_vnf
70
71 VNFD_SRC_DIR := src/vnfd
72 VNFD_BUILD_DIR := $(BUILD_DIR)/vnfd
73
74 VNFD_SRC_DIRS := $(addprefix $(VNFD_SRC_DIR)/, $(VNFDS))
75 VNFD_BUILD_DIRS := $(addprefix $(VNFD_BUILD_DIR)/, $(VNFDS))
76 VNFD_PKGS := $(addsuffix .tar.gz, $(VNFDS))
77 VNFD_BUILD_PKGS := $(addprefix $(VNFD_BUILD_DIR)_pkgs/, $(VNFD_PKGS))
78
79 IMS_GITHUB="https://github.com/Metaswitch/clearwater-juju.git"
80 CHARM_REPO="https://osm.etsi.org/gerrit/osm/juju-charms.git"
81
82 all: $(VNFD_BUILD_PKGS) ${NSD_BUILD_PKGS}
83 echo $@
84
85 clean:
86 -@ $(RM) -rf $(BUILD_DIR)
87
88 $(VNFD_BUILD_DIR)/%: $(VNFD_SRC_DIR)/%
89 mkdir -p $(VNFD_BUILD_DIR)
90 cp -rf $< $(VNFD_BUILD_DIR)
91
92 src/gen_vnfd_pkg.sh $< $@
93
94 $(BUILD_DIR)/clearwater-juju:
95 mkdir -p $(BUILD_DIR)
96 -cd $(BUILD_DIR) && (test -e clearwater-juju || git clone $(IMS_GITHUB))
97
98 $(BUILD_DIR)/juju-charms:
99 mkdir -p $(BUILD_DIR)
100 -cd $(BUILD_DIR) && (test -e juju-charms || git clone $(CHARM_REPO))
101 -cd $(BUILD_DIR)/juju-charms && make
102
103 $(NSD_BUILD_DIR)/%: $(NSD_SRC_DIR)/%
104 mkdir -p $(NSD_BUILD_DIR)
105 cp -rf $< $(NSD_BUILD_DIR)
106
107 src/gen_nsd_pkg.sh $< $@
108
109 $(BUILD_DIR)/nsd_pkgs/%.tar.gz: $(NSD_BUILD_DIR)/%
110 src/generate_descriptor_pkg.sh -d $(BUILD_DIR)/nsd_pkgs $<
111
112 $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf/charms/clearwater-aio-proxy: $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf $(BUILD_DIR)/clearwater-juju
113 # Copy the IMS Charm into the IMS vnf package directory before packaging
114 cp -rf $(BUILD_DIR)/clearwater-juju/charms/trusty/clearwater-aio-proxy $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf/charms
115
116 $(VNFD_BUILD_DIR)/6wind_vnf/charms/vpe-router: $(VNFD_BUILD_DIR)/6wind_vnf $(BUILD_DIR)/juju-charms
117 # Copy the PE Charm into the PE vnf package directory before packaging
118 cp -rf $(BUILD_DIR)/juju-charms/builds/vpe-router $(VNFD_BUILD_DIR)/6wind_vnf/charms
119
120 $(VNFD_BUILD_DIR)/VyOS_vnf/charms/vyos-proxy: $(VNFD_BUILD_DIR)/VyOS_vnf $(BUILD_DIR)/juju-charms
121 # Copy the PE Charm into the PE vnf package directory before packaging
122 cp -rf $(BUILD_DIR)/juju-charms/builds/vyos-proxy $(VNFD_BUILD_DIR)/VyOS_vnf/charms
123
124 $(VNFD_BUILD_DIR)/ping_vnf/charms/pingpong: $(VNFD_BUILD_DIR)/ping_vnf $(BUILD_DIR)/juju-charms
125 # Copy the pingpong Charm into the ping vnf package directory before packaging
126 cp -rf $(BUILD_DIR)/juju-charms/builds/pingpong $(VNFD_BUILD_DIR)/ping_vnf/charms
127
128 $(VNFD_BUILD_DIR)/pong_vnf/charms/pingpong: $(VNFD_BUILD_DIR)/pong_vnf $(BUILD_DIR)/juju-charms
129 # Copy the pingpong Charm into the pong vnf package directory before packaging
130 cp -rf $(BUILD_DIR)/juju-charms/builds/pingpong $(VNFD_BUILD_DIR)/pong_vnf/charms
131
132 $(VNFD_BUILD_DIR)/knt_fnc_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnc_vnf $(BUILD_DIR)/juju-charms
133 # Copy the FlowNAC Charm into the FNC vnf package directory before packaging
134 cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnc_vnf/charms
135
136 $(VNFD_BUILD_DIR)/knt_fne_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fne_vnf $(BUILD_DIR)/juju-charms
137 # Copy the FlowNAC Charm into the FNE vnf package directory before packaging
138 cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fne_vnf/charms
139
140 $(VNFD_BUILD_DIR)/knt_fnd_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnd_vnf $(BUILD_DIR)/juju-charms
141 # Copy the FlowNAC Charm into the FND vnf package directory before packaging
142 cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnd_vnf/charms
143
144 $(VNFD_BUILD_DIR)/knt_fnu_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnu_vnf $(BUILD_DIR)/juju-charms
145 # Copy the FlowNAC Charm into the FNU vnf package directory before packaging
146 cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnu_vnf/charms
147
148 $(BUILD_DIR)/vnfd_pkgs/%.tar.gz: $(VNFD_BUILD_DIR)/% $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf/charms/clearwater-aio-proxy $(VNFD_BUILD_DIR)/6wind_vnf/charms/vpe-router $(VNFD_BUILD_DIR)/VyOS_vnf/charms/vyos-proxy $(VNFD_BUILD_DIR)/ping_vnf/charms/pingpong $(VNFD_BUILD_DIR)/pong_vnf/charms/pingpong $(VNFD_BUILD_DIR)/knt_fnc_vnf/charms/flownac $(VNFD_BUILD_DIR)/knt_fne_vnf/charms/flownac $(VNFD_BUILD_DIR)/knt_fnd_vnf/charms/flownac $(VNFD_BUILD_DIR)/knt_fnu_vnf/charms/flownac
149 src/generate_descriptor_pkg.sh -d $(BUILD_DIR)/vnfd_pkgs $<