mirror of
https://github.com/aljazceru/kata-containers.git
synced 2026-01-28 10:44:25 +01:00
Update the kata-ctl install rule to allow it to be installed to a given directory The Makefile was updated to use an INSTALL_PATH variable to track where the kata-ctl binary should be installed. If the user doesn't specify anything, then it uses the default path that cargo uses. Otherwise, it will install it in the directory that the user specified. The README.md file was also updated to show how to use the new option. Fixes #5403 Co-authored-by: Cesar Tamayo <cesar.tamayo@intel.com> Co-authored-by: Kevin Mora Jimenez <kevin.mora.jimenez@intel.com> Co-authored-by: Narendra Patel <narendra.g.patel@intel.com> Co-authored-by: Ray Karrenbauer <ray.karrenbauer@intel.com> Co-authored-by: Srinath Duraisamy <srinath.duraisamy@intel.com> Signed-off-by: Narendra Patel <narendra.g.patel@intel.com>
70 lines
1.7 KiB
Makefile
70 lines
1.7 KiB
Makefile
# Copyright (c) 2022 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
include ../../../utils.mk
|
|
|
|
PROJECT_NAME = Kata Containers
|
|
PROJECT_URL = https://github.com/kata-containers
|
|
PROJECT_COMPONENT = kata-ctl
|
|
|
|
TARGET = $(PROJECT_COMPONENT)
|
|
INSTALL_PATH = $(HOME)/.cargo
|
|
|
|
VERSION_FILE := ./VERSION
|
|
export VERSION := $(shell grep -v ^\# $(VERSION_FILE))
|
|
COMMIT_NO := $(shell git rev-parse HEAD 2>/dev/null || true)
|
|
COMMIT_NO_SHORT := $(shell git rev-parse --short HEAD 2>/dev/null || true)
|
|
export COMMIT := $(if $(shell git status --porcelain --untracked-files=no 2>/dev/null || true),${COMMIT_NO}-dirty,${COMMIT_NO})
|
|
|
|
# Exported to allow cargo to see it
|
|
export KATA_CTL_VERSION := $(if $(COMMIT),$(VERSION)-$(COMMIT),$(VERSION))
|
|
|
|
GENERATED_CODE = src/ops/version.rs
|
|
|
|
GENERATED_REPLACEMENTS= \
|
|
KATA_CTL_VERSION \
|
|
VERSION \
|
|
COMMIT
|
|
|
|
GENERATED_FILES := $(GENERATED_CODE)
|
|
|
|
.DEFAULT_GOAL := default
|
|
|
|
default: $(TARGET) build
|
|
|
|
$(TARGET): $(GENERATED_CODE)
|
|
|
|
build:
|
|
@RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES)
|
|
|
|
static-checks-build: $(GENERATED_CODE)
|
|
|
|
$(GENERATED_FILES): %: %.in
|
|
@sed $(foreach r,$(GENERATED_REPLACEMENTS),-e 's|@$r@|$($r)|g') "$<" > "$@"
|
|
|
|
|
|
clean:
|
|
@cargo clean
|
|
@rm -f $(GENERATED_FILES)
|
|
|
|
vendor:
|
|
cargo vendor
|
|
|
|
test:
|
|
@RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo test --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) -- --nocapture
|
|
|
|
install:
|
|
@RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo install --locked --target $(TRIPLE) --path . --root $(INSTALL_PATH)
|
|
|
|
check: standard_rust_check
|
|
|
|
.PHONY: \
|
|
build \
|
|
check \
|
|
clean \
|
|
install \
|
|
test \
|
|
vendor
|