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
31 GEN_VNFD_PKG
:= $(TOOLS_DIR
)/gen_vnfd_pkg.sh
32 GEN_NSD_PKG
:= $(TOOLS_DIR
)/gen_nsd_pkg.sh
33 GEN_PKG
:= $(TOOLS_DIR
)/generate_descriptor_pkg.sh
34 BUILD_VNFD
:= $(shell readlink
-f .|sed
-e
's/\/.*descriptor-packages//' | grep vnfd
)
36 DEP_FILES
= $(wildcard src
/*)
39 $(BUILD_DIR
)/$(PKG_BASE_NAME
): src
$(DEP_FILES
)
42 $(Q
)$(GEN_VNFD_PKG
) $< $@
44 $(BUILD_DIR
)/$(PKG_BASE_NAME
): src
$(DEP_FILES
)
47 $(Q
)$(GEN_NSD_PKG
) $< $@
51 $(BUILD_DIR
)/$(PKG_NAME
): $(BUILD_DIR
)/$(PKG_BASE_NAME
) $(CHARM_BUILD_DIR
)/$(VNFD_CHARM
)
52 $(Q
)echo
"building $(PKG_BASE_NAME) with charm $(VNFD_CHARM)"
53 $(Q
)cp
-rf
$(CHARM_BUILD_DIR
)/$(VNFD_CHARM
) $(BUILD_DIR
)/$(PKG_BASE_NAME
)/charms
54 $(Q
)$(GEN_PKG
) --no-remove-files
-d
$(BUILD_DIR
) $(BUILD_DIR
)/$(PKG_BASE_NAME
)
56 $(BUILD_DIR
)/$(PKG_NAME
): $(BUILD_DIR
)/$(PKG_BASE_NAME
)
57 $(Q
)echo
"building $(PKG_BASE_NAME)"
58 $(Q
)$(GEN_PKG
) --no-remove-files
-d
$(BUILD_DIR
) $(BUILD_DIR
)/$(PKG_BASE_NAME
)
62 $(CHARM_BUILD_DIR
)/%: $(CHARM_SRC_DIR
)/%
63 $(Q
)docker build
-q
-t
$(CHARM_DOCKER_TAG
) $(CHARM_DIR
)/.
64 $(CHARM_DIR
) $(CHARM_DOCKER_TAG
) charm-build
-o
$(CHARM_DIR
) $<
66 $(CHARM_BUILD_DIR
)/%: $(CHARM_SRC_DIR
)/%
67 $(Q
)charm-build
-o
$(CHARM_DIR
) $<
71 $(Q
)rm -rf
$(BUILD_DIR
)
72 $(Q
)rm -rf
$(CHARM_BUILD_DIR
)