2 # Copyright 2017 Sandvine
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
8 # http://www.apache.org/licenses/LICENSE-2.0
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.
16 TOPDIR
=$(shell readlink
-f .|sed
-e
's/\/descriptor-packages\/.*//')
19 TOOLS_DIR
:= $(TOPDIR
)/descriptor-packages
/tools
20 PKG_BASE_NAME
:= $(shell basename $(shell pwd
))
21 PKG_NAME
:= $(addsuffix .
tar.gz
, $(PKG_BASE_NAME
))
23 CHARM_DIR
:= $(TOPDIR
)/juju-charms
24 CHARM_SRC_DIR
:= $(CHARM_DIR
)/layers
25 CHARM_DOCKER_TAG
:= charm-tools
26 CHARM_BUILD_DIR
:= $(CHARM_DIR
)/builds
30 GEN_VNFD_PKG
:= $(TOOLS_DIR
)/gen_vnfd_pkg.sh
31 GEN_NSD_PKG
:= $(TOOLS_DIR
)/gen_nsd_pkg.sh
32 GEN_PKG
:= $(TOOLS_DIR
)/generate_descriptor_pkg.sh
33 BUILD_VNFD
:= $(shell readlink
-f .|sed
-e
's/\/.*descriptor-packages//' | grep vnfd
)
35 DEP_FILES
= $(wildcard src
/*)
38 $(BUILD_DIR
)/$(PKG_BASE_NAME
): src
$(DEP_FILES
)
41 $(Q
)$(GEN_VNFD_PKG
) $< $@
43 $(BUILD_DIR
)/$(PKG_BASE_NAME
): src
$(DEP_FILES
)
46 $(Q
)$(GEN_NSD_PKG
) $< $@
50 $(BUILD_DIR
)/$(PKG_NAME
): $(BUILD_DIR
)/$(PKG_BASE_NAME
) $(CHARM_BUILD_DIR
)/$(VNFD_CHARM
)
51 $(Q
)echo
"building $(PKG_BASE_NAME) with charm $(VNFD_CHARM)"
52 $(Q
)cp
-rf
$(CHARM_BUILD_DIR
)/$(VNFD_CHARM
) $(BUILD_DIR
)/$(PKG_BASE_NAME
)/charms
53 $(Q
)$(GEN_PKG
) --no-remove-files
-d
$(BUILD_DIR
) $(BUILD_DIR
)/$(PKG_BASE_NAME
)
55 $(BUILD_DIR
)/$(PKG_NAME
): $(BUILD_DIR
)/$(PKG_BASE_NAME
)
56 $(Q
)echo
"building $(PKG_BASE_NAME)"
57 $(Q
)$(GEN_PKG
) --no-remove-files
-d
$(BUILD_DIR
) $(BUILD_DIR
)/$(PKG_BASE_NAME
)
60 $(CHARM_BUILD_DIR
)/%: $(CHARM_SRC_DIR
)/%
61 $(Q
)docker build
-q
-t
$(CHARM_DOCKER_TAG
) $(CHARM_DIR
)/.
62 $(Q
)docker run
-u
$$(id
-u
):$$(id
-g
) -v
$(CHARM_DIR
):$(CHARM_DIR
) -w
$(CHARM_DIR
) $(CHARM_DOCKER_TAG
) charm-build
-o
$(CHARM_DIR
) $<
65 $(Q
)rm -rf
$(BUILD_DIR
)
66 $(Q
)rm -rf
$(CHARM_BUILD_DIR
)