# # Copyright 2016 RIFT.IO Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # Author(s): Austin Cormier # Creation Date: 2016/05/23 # BUILD_DIR = build NSDS := \ 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 \ ref1_ns \ ref2_ns \ ubuntu_cirros_multidisk_ns NSD_SRC_DIR := src/nsd NSD_BUILD_DIR := $(BUILD_DIR)/nsd NSD_SRC_DIRS := $(addprefix $(NSD_SRC_DIR)/, $(NSDS)) NSD_BUILD_DIRS := $(addprefix $(NSD_BUILD_DIR)/, $(NSDS)) NSD_PKGS := $(addsuffix .tar.gz, $(NSDS)) NSD_BUILD_PKGS := $(addprefix $(NSD_BUILD_DIR)_pkgs/, $(NSD_PKGS)) VNFDS := \ 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 \ ref11_vnf \ ref21_vnf \ ref12_vnf \ ref22_vnf \ ubuntu_cirros_multidisk_vnf VNFD_SRC_DIR := src/vnfd VNFD_BUILD_DIR := $(BUILD_DIR)/vnfd VNFD_SRC_DIRS := $(addprefix $(VNFD_SRC_DIR)/, $(VNFDS)) VNFD_BUILD_DIRS := $(addprefix $(VNFD_BUILD_DIR)/, $(VNFDS)) VNFD_PKGS := $(addsuffix .tar.gz, $(VNFDS)) VNFD_BUILD_PKGS := $(addprefix $(VNFD_BUILD_DIR)_pkgs/, $(VNFD_PKGS)) IMS_GITHUB="https://github.com/Metaswitch/clearwater-juju.git" CHARM_REPO="https://osm.etsi.org/gerrit/osm/juju-charms.git" all: $(VNFD_BUILD_PKGS) ${NSD_BUILD_PKGS} echo $@ clean: -@ $(RM) -rf $(BUILD_DIR) $(VNFD_BUILD_DIR)/%: $(VNFD_SRC_DIR)/% mkdir -p $(VNFD_BUILD_DIR) cp -rf $< $(VNFD_BUILD_DIR) src/gen_vnfd_pkg.sh $< $@ $(BUILD_DIR)/clearwater-juju: mkdir -p $(BUILD_DIR) -cd $(BUILD_DIR) && (test -e clearwater-juju || git clone $(IMS_GITHUB)) $(BUILD_DIR)/juju-charms: mkdir -p $(BUILD_DIR) -cd $(BUILD_DIR) && (test -e juju-charms || git clone $(CHARM_REPO)) -cd $(BUILD_DIR)/juju-charms && make $(NSD_BUILD_DIR)/%: $(NSD_SRC_DIR)/% mkdir -p $(NSD_BUILD_DIR) cp -rf $< $(NSD_BUILD_DIR) src/gen_nsd_pkg.sh $< $@ $(BUILD_DIR)/nsd_pkgs/%.tar.gz: $(NSD_BUILD_DIR)/% src/generate_descriptor_pkg.sh -d $(BUILD_DIR)/nsd_pkgs $< $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf/charms/clearwater-aio-proxy: $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf $(BUILD_DIR)/clearwater-juju # Copy the IMS Charm into the IMS vnf package directory before packaging cp -rf $(BUILD_DIR)/clearwater-juju/charms/trusty/clearwater-aio-proxy $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf/charms $(VNFD_BUILD_DIR)/6wind_vnf/charms/vpe-router: $(VNFD_BUILD_DIR)/6wind_vnf $(BUILD_DIR)/juju-charms # Copy the PE Charm into the PE vnf package directory before packaging cp -rf $(BUILD_DIR)/juju-charms/builds/vpe-router $(VNFD_BUILD_DIR)/6wind_vnf/charms $(VNFD_BUILD_DIR)/VyOS_vnf/charms/vyos-proxy: $(VNFD_BUILD_DIR)/VyOS_vnf $(BUILD_DIR)/juju-charms # Copy the PE Charm into the PE vnf package directory before packaging cp -rf $(BUILD_DIR)/juju-charms/builds/vyos-proxy $(VNFD_BUILD_DIR)/VyOS_vnf/charms $(VNFD_BUILD_DIR)/ping_vnf/charms/pingpong: $(VNFD_BUILD_DIR)/ping_vnf $(BUILD_DIR)/juju-charms # Copy the pingpong Charm into the ping vnf package directory before packaging cp -rf $(BUILD_DIR)/juju-charms/builds/pingpong $(VNFD_BUILD_DIR)/ping_vnf/charms $(VNFD_BUILD_DIR)/pong_vnf/charms/pingpong: $(VNFD_BUILD_DIR)/pong_vnf $(BUILD_DIR)/juju-charms # Copy the pingpong Charm into the pong vnf package directory before packaging cp -rf $(BUILD_DIR)/juju-charms/builds/pingpong $(VNFD_BUILD_DIR)/pong_vnf/charms $(VNFD_BUILD_DIR)/knt_fnc_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnc_vnf $(BUILD_DIR)/juju-charms # Copy the FlowNAC Charm into the FNC vnf package directory before packaging cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnc_vnf/charms $(VNFD_BUILD_DIR)/knt_fne_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fne_vnf $(BUILD_DIR)/juju-charms # Copy the FlowNAC Charm into the FNE vnf package directory before packaging cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fne_vnf/charms $(VNFD_BUILD_DIR)/knt_fnd_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnd_vnf $(BUILD_DIR)/juju-charms # Copy the FlowNAC Charm into the FND vnf package directory before packaging cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnd_vnf/charms $(VNFD_BUILD_DIR)/knt_fnu_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnu_vnf $(BUILD_DIR)/juju-charms # Copy the FlowNAC Charm into the FNU vnf package directory before packaging cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnu_vnf/charms $(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 src/generate_descriptor_pkg.sh -d $(BUILD_DIR)/vnfd_pkgs $<