blob: 358036e6e323a1ca5264f6aef94cd56dbb17166e [file] [log] [blame]
Austin Cormier3a1c3352016-05-23 21:46:17 -04001#
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#
Austin Cormier3aeed122016-05-23 19:12:00 -040019BUILD_DIR = build
20
chamarty7f08dc82017-01-20 02:16:38 +000021NSDS := gw_corpa_ns ims_allin1_corpa mwc16_gen_ns mwc16_pe_ns VyOS_ns cirros_ns cirros_2vnf_ns ubuntu_xenial_ns ping_pong_ns knt_flownac_ns knt_flownac-us_ns sandvine_pts_ns sonussbc_ns
Austin Cormier3aeed122016-05-23 19:12:00 -040022NSD_SRC_DIR := src/nsd
23NSD_BUILD_DIR := $(BUILD_DIR)/nsd
24
25NSD_SRC_DIRS := $(addprefix $(NSD_SRC_DIR)/, $(NSDS))
26NSD_BUILD_DIRS := $(addprefix $(NSD_BUILD_DIR)/, $(NSDS))
27NSD_PKGS := $(addsuffix .tar.gz, $(NSDS))
28NSD_BUILD_PKGS := $(addprefix $(NSD_BUILD_DIR)_pkgs/, $(NSD_PKGS))
29
chamarty7f08dc82017-01-20 02:16:38 +000030VNFDS := 6wind_vnf gw_corpa_pe1_vnf gw_corpa_pe2_vnf ims_allin1_2p_vnf tidgen_mwc16_vnf VyOS_vnf cirros_vnf ubuntu_xenial_vnf ping_vnf pong_vnf knt_fnc_vnf knt_fne_vnf knt_fnu_vnf knt_fnd_vnf sandvine_pts_vnf sonus_sbc_vnf sonus_test_vnf
Austin Cormier3aeed122016-05-23 19:12:00 -040031VNFD_SRC_DIR := src/vnfd
32VNFD_BUILD_DIR := $(BUILD_DIR)/vnfd
33
34VNFD_SRC_DIRS := $(addprefix $(VNFD_SRC_DIR)/, $(VNFDS))
35VNFD_BUILD_DIRS := $(addprefix $(VNFD_BUILD_DIR)/, $(VNFDS))
36VNFD_PKGS := $(addsuffix .tar.gz, $(VNFDS))
37VNFD_BUILD_PKGS := $(addprefix $(VNFD_BUILD_DIR)_pkgs/, $(VNFD_PKGS))
38
Austin Cormieree2c2b62016-05-23 20:53:00 -040039IMS_GITHUB="https://github.com/Metaswitch/clearwater-juju.git"
Austin Cormierf1298782016-05-24 11:01:38 -040040CHARM_REPO="https://osm.etsi.org/gerrit/osm/juju-charms.git"
Jokin Garay81b3a912017-02-02 14:18:08 +010041JUJU_DIR = /home/jokin/dev/osm
Austin Cormieree2c2b62016-05-23 20:53:00 -040042
Austin Cormier3aeed122016-05-23 19:12:00 -040043all: $(VNFD_BUILD_PKGS) ${NSD_BUILD_PKGS}
44 echo $@
45
46clean:
47 -@ $(RM) -rf $(BUILD_DIR)
48
49$(VNFD_BUILD_DIR)/%: $(VNFD_SRC_DIR)/%
50 mkdir -p $(VNFD_BUILD_DIR)
51 cp -rf $< $(VNFD_BUILD_DIR)
52
53 src/gen_vnfd_pkg.sh $< $@
Austin Cormieree2c2b62016-05-23 20:53:00 -040054
Austin Cormierf1298782016-05-24 11:01:38 -040055$(BUILD_DIR)/clearwater-juju:
56 mkdir -p $(BUILD_DIR)
Austin Cormieree2c2b62016-05-23 20:53:00 -040057 -cd $(BUILD_DIR) && (test -e clearwater-juju || git clone $(IMS_GITHUB))
Austin Cormier3aeed122016-05-23 19:12:00 -040058
Austin Cormierf1298782016-05-24 11:01:38 -040059$(BUILD_DIR)/juju-charms:
60 mkdir -p $(BUILD_DIR)
61 -cd $(BUILD_DIR) && (test -e juju-charms || git clone $(CHARM_REPO))
Philip Josephde3b8ca2016-10-07 14:00:30 +053062 -cd $(BUILD_DIR)/juju-charms && make
Austin Cormierf1298782016-05-24 11:01:38 -040063
Austin Cormier3aeed122016-05-23 19:12:00 -040064$(NSD_BUILD_DIR)/%: $(NSD_SRC_DIR)/%
65 mkdir -p $(NSD_BUILD_DIR)
66 cp -rf $< $(NSD_BUILD_DIR)
67
68 src/gen_nsd_pkg.sh $< $@
69
70$(BUILD_DIR)/nsd_pkgs/%.tar.gz: $(NSD_BUILD_DIR)/%
Philip Joseph15b76cb2016-07-08 01:42:08 +053071 src/generate_descriptor_pkg.sh -d $(BUILD_DIR)/nsd_pkgs $<
Austin Cormier3aeed122016-05-23 19:12:00 -040072
Austin Cormierf1298782016-05-24 11:01:38 -040073$(VNFD_BUILD_DIR)/ims_allin1_2p_vnf/charms/clearwater-aio-proxy: $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf $(BUILD_DIR)/clearwater-juju
74 # Copy the IMS Charm into the IMS vnf package directory before packaging
Austin Cormieree2c2b62016-05-23 20:53:00 -040075 cp -rf $(BUILD_DIR)/clearwater-juju/charms/trusty/clearwater-aio-proxy $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf/charms
76
Austin Cormierf1298782016-05-24 11:01:38 -040077$(VNFD_BUILD_DIR)/6wind_vnf/charms/vpe-router: $(VNFD_BUILD_DIR)/6wind_vnf $(BUILD_DIR)/juju-charms
Philip Joseph15b76cb2016-07-08 01:42:08 +053078 # Copy the PE Charm into the PE vnf package directory before packaging
Rajesh9dd380e2016-09-28 23:24:01 -040079 cp -rf $(BUILD_DIR)/juju-charms/builds/vpe-router $(VNFD_BUILD_DIR)/6wind_vnf/charms
Austin Cormierf1298782016-05-24 11:01:38 -040080
Philip Joseph6936aea2016-10-13 11:54:52 +053081$(VNFD_BUILD_DIR)/VyOS_vnf/charms/vyos-proxy: $(VNFD_BUILD_DIR)/VyOS_vnf $(BUILD_DIR)/juju-charms
Philip Josephf3222752016-10-02 23:49:12 +053082 # Copy the PE Charm into the PE vnf package directory before packaging
Philip Joseph6936aea2016-10-13 11:54:52 +053083 cp -rf $(BUILD_DIR)/juju-charms/builds/vyos-proxy $(VNFD_BUILD_DIR)/VyOS_vnf/charms
Philip Josephf3222752016-10-02 23:49:12 +053084
Philip Joseph54b892b2017-01-10 18:01:10 +053085$(VNFD_BUILD_DIR)/ping_vnf/charms/pingpong: $(VNFD_BUILD_DIR)/ping_vnf $(BUILD_DIR)/juju-charms
86 # Copy the pingpong Charm into the ping vnf package directory before packaging
87 cp -rf $(BUILD_DIR)/juju-charms/builds/pingpong $(VNFD_BUILD_DIR)/ping_vnf/charms
88
89$(VNFD_BUILD_DIR)/pong_vnf/charms/pingpong: $(VNFD_BUILD_DIR)/pong_vnf $(BUILD_DIR)/juju-charms
90 # Copy the pingpong Charm into the pong vnf package directory before packaging
91 cp -rf $(BUILD_DIR)/juju-charms/builds/pingpong $(VNFD_BUILD_DIR)/pong_vnf/charms
92
Jokin Garay81b3a912017-02-02 14:18:08 +010093$(VNFD_BUILD_DIR)/knt_fnc_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnc_vnf $(BUILD_DIR)/juju-charms
94 # Copy the FlowNAC Charm into the FNC vnf package directory before packaging
95 cp -rf $(JUJU_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnc_vnf/charms
96
97$(VNFD_BUILD_DIR)/knt_fne_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fne_vnf $(BUILD_DIR)/juju-charms
98 # Copy the FlowNAC Charm into the FNE vnf package directory before packaging
99 cp -rf $(JUJU_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fne_vnf/charms
100
101$(VNFD_BUILD_DIR)/knt_fnd_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnd_vnf $(BUILD_DIR)/juju-charms
102 # Copy the FlowNAC Charm into the FND vnf package directory before packaging
103 cp -rf $(JUJU_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnd_vnf/charms
104
105$(VNFD_BUILD_DIR)/knt_fnu_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnu_vnf $(BUILD_DIR)/juju-charms
106 # Copy the FlowNAC Charm into the FNU vnf package directory before packaging
107 cp -rf $(JUJU_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnu_vnf/charms
108
109$(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
Philip Joseph15b76cb2016-07-08 01:42:08 +0530110 src/generate_descriptor_pkg.sh -d $(BUILD_DIR)/vnfd_pkgs $<