Skip to content
Snippets Groups Projects
Select Git revision
  • c805efd5250b2ac46698e3fd17a86644e29d7806
  • master default protected
  • v18.0 protected
  • v17.0 protected
  • fix-osm-gitea-installation-due-to-missing-memcached-tag
  • v16.0 protected
  • v14.0 protected
  • v15.0 protected
  • open-ebs-fix
  • v12.0 protected
  • v13.0 protected
  • v10.0 protected
  • paas
  • v11.0 protected
  • v9.0 protected
  • sol006v331
  • bug1511
  • ng-ro-refactor
  • v8.0 protected
  • sol006
  • new-pipeline
  • v18.0.1
  • v18.0.0
  • v14.0.3
  • v15.0.2
  • v17.0.1
  • v17.0.0
  • v16.0.0
  • release-v16.0-start
  • test-gitjob
  • v15.0.1
  • v14.0.2
  • v12.0.8
  • v12.0.7
  • v13.0.2
  • v14.0.1
  • v15.0.0
  • release-v15.0-start
  • v10.1.6
  • v14.0.0
  • v14.0.0rc1
41 results

Makefile

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Makefile 4.47 KiB
    #
    #   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
    
    $(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
    	src/generate_descriptor_pkg.sh -d $(BUILD_DIR)/vnfd_pkgs $<