Leonardo Sandoval | 42065f3 | 2020-08-28 15:29:01 -0500 | [diff] [blame] | 1 | # |
| 2 | # Copyright (c) 2020, Arm Limited. All rights reserved. |
| 3 | # |
| 4 | # SPDX-License-Identifier: BSD-3-Clause |
| 5 | # |
| 6 | |
| 7 | # Makefile rules to help creating docker images based on a fvp model tarballs |
| 8 | |
| 9 | # allow user to possible define other dir for model tarballs |
| 10 | TGZ_DIR ?= . |
| 11 | |
| 12 | # directory for docker build work |
| 13 | WORKSPACE ?= workspace |
| 14 | |
| 15 | # find all tarballs located at TGZ_DIR |
| 16 | tgzs=$(shell ls $(TGZ_DIR)/F*.tgz 2>/dev/null) |
| 17 | |
| 18 | define create-docker-image |
| 19 | # tag varible is used so uniquely identify a model |
| 20 | # and it is used to workspace directory and docker tag |
| 21 | tag=$(shell ./create-model-tag.sh $@) && \ |
| 22 | tarball=$(shell basename $@) && \ |
| 23 | rm -rf $(WORKSPACE)/$${tag} && \ |
| 24 | mkdir -p $(WORKSPACE)/$${tag} && \ |
| 25 | cp $@ $(WORKSPACE)/$${tag} && \ |
Leonardo Sandoval | 8172d67 | 2021-04-22 19:22:11 -0500 | [diff] [blame] | 26 | cp setup-sshd $(WORKSPACE)/$${tag} && \ |
Leonardo Sandoval | 42065f3 | 2020-08-28 15:29:01 -0500 | [diff] [blame] | 27 | ./create-model-dockerfile.sh $${tarball} $(WORKSPACE)/$${tag} && \ |
| 28 | docker build --tag fvp:$${tag} $(WORKSPACE)/$${tag} > /dev/null && \ |
| 29 | echo "Docker image created" && \ |
| 30 | echo "Docker image name: (fvp:$${tag})" && \ |
| 31 | echo "Docker Model files:" && \ |
| 32 | echo "$$(docker run fvp:$${tag} ls)" && \ |
| 33 | echo "Dockerfile: $(WORKSPACE)/$${tag}/Dockerfile" |
| 34 | endef |
| 35 | |
| 36 | ifeq ($(tgzs),) |
| 37 | all: |
| 38 | @echo No model tarballs found && exit 0 |
| 39 | else |
| 40 | all: $(tgzs) |
| 41 | $(tgzs): |
| 42 | $(create-docker-image) |
| 43 | endif |
| 44 | |
| 45 | clean: |
| 46 | rm -rf $(WORKSPACE) |
| 47 | |
| 48 | .PHONY: $(tgzs) |