Skip to content

Commit 79ef942

Browse files
committed
Add make targets for vGPU host drivers
Signed-off-by: Shiva Kumar (SW-CLOUD) <[email protected]>
1 parent 900743b commit 79ef942

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

Makefile

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,12 @@ PUSH_TARGETS := $(patsubst %, push-%, $(DISTRIBUTIONS))
5959
BASE_FROM := noble jammy focal
6060
PUSH_TARGETS := $(patsubst %, push-%, $(DISTRIBUTIONS))
6161
VGPU_GUEST_DRIVER_PUSH_TARGETS := $(patsubst %, push-vgpuguest-%, $(DISTRIBUTIONS))
62+
VGPU_HOST_DRIVER_PUSH_TARGETS := $(patsubst %, push-vgpuhost-%, $(DISTRIBUTIONS))
6263
DRIVER_PUSH_TARGETS := $(foreach push_target, $(PUSH_TARGETS), $(addprefix $(push_target)-, $(DRIVER_VERSIONS)))
6364
BUILD_TARGETS := $(patsubst %, build-%, $(DISTRIBUTIONS))
6465
DRIVER_BUILD_TARGETS := $(foreach build_target, $(BUILD_TARGETS), $(addprefix $(build_target)-, $(DRIVER_VERSIONS)))
6566
VGPU_GUEST_DRIVER_BUILD_TARGETS := $(patsubst %, build-vgpuguest-%, $(DISTRIBUTIONS))
67+
VGPU_HOST_DRIVER_BUILD_TARGETS := $(patsubst %, build-vgpuhost-%, $(DISTRIBUTIONS))
6668
TEST_TARGETS := $(patsubst %, test-%, $(DISTRIBUTIONS))
6769
PULL_TARGETS := $(patsubst %, pull-%, $(DISTRIBUTIONS))
6870
DRIVER_PULL_TARGETS := $(foreach pull_target, $(PULL_TARGETS), $(addprefix $(pull_target)-, $(DRIVER_VERSIONS)))
@@ -73,7 +75,7 @@ BASE_PUSH := $(patsubst %, push-base-%, $(BASE_FROM))
7375
BASE_BUILD_TARGETS := $(foreach target,$(BASE_BUILD),$(target))
7476
BASE_PUSH_TARGETS := $(foreach target,$(BASE_PUSH),$(target))
7577

76-
PHONY: $(BASE_BUILD_TARGETS) $(BASE_PUSH_TARGETS) $(DISTRIBUTIONS) $(PUSH_TARGETS) $(BUILD_TARGETS) $(TEST_TARGETS) $(PULL_TARGETS) $(ARCHIVE_TARGETS) $(DRIVER_PUSH_TARGETS) $(DRIVER_BUILD_TARGETS) $(DRIVER_PULL_TARGETS) $(DRIVER_ARCHIVE_TARGETS) $(VGPU_GUEST_DRIVER_BUILD_TARGETS) $(VGPU_GUEST_DRIVER_PUSH_TARGETS)
78+
PHONY: $(BASE_BUILD_TARGETS) $(BASE_PUSH_TARGETS) $(DISTRIBUTIONS) $(PUSH_TARGETS) $(BUILD_TARGETS) $(TEST_TARGETS) $(PULL_TARGETS) $(ARCHIVE_TARGETS) $(DRIVER_PUSH_TARGETS) $(DRIVER_BUILD_TARGETS) $(DRIVER_PULL_TARGETS) $(DRIVER_ARCHIVE_TARGETS) $(VGPU_GUEST_DRIVER_BUILD_TARGETS) $(VGPU_GUEST_DRIVER_PUSH_TARGETS) $(VGPU_HOST_DRIVER_BUILD_TARGETS) $(VGPU_HOST_DRIVER_PUSH_TARGETS)
7779

7880
ifeq ($(BUILD_MULTI_ARCH_IMAGES),true)
7981
include $(CURDIR)/multi-arch.mk
@@ -267,3 +269,39 @@ push-vgpuguest-%: $(if $(VGPU_GUEST_DRIVER_VERSION),,$(error "VGPU_GUEST_DRIVER_
267269
push-vgpuguest-%: DRIVER_TAG = $(VGPU_GUEST_DRIVER_VERSION:-grid=)
268270
push-vgpuguest-%: DIST = $(word 3,$(subst -, ,$@))
269271

272+
# $(VGPU_HOST_DRIVER_BUILD_TARGETS) is in the form of build-vgpuhost-$(DIST)
273+
# The vGPU host driver .run file is assumed to be present in the $SUBDIR/drivers/ directory.
274+
# VGPU_HOST_DRIVER_VERSION must be defined in the environment when invoking this target.
275+
VGPU_HOST_DRIVER_VERSION ?= ""
276+
build-vgpuhost-%: $(if $(VGPU_HOST_DRIVER_VERSION),,$(error "VGPU_HOST_DRIVER_VERSION is not set"))
277+
build-vgpuhost-%: DRIVER_VERSION := $(VGPU_HOST_DRIVER_VERSION)
278+
build-vgpuhost-%: DRIVER_BRANCH = $(word 1,$(subst ., ,${DRIVER_VERSION}))
279+
build-vgpuhost-%: DIST = $(word 3,$(subst -, ,$@))
280+
build-vgpuhost-%: SUBDIR = $(word 3,$(subst -, ,$@))
281+
build-vgpuhost-%: DOCKERFILE = $(CURDIR)/vgpu-manager/$(SUBDIR)/Dockerfile
282+
283+
build-vgpuhost-rhcos%: SUBDIR = rhel8
284+
285+
$(VGPU_HOST_DRIVER_BUILD_TARGETS):
286+
DOCKER_BUILDKIT=1 \
287+
$(DOCKER) $(BUILDX) build --pull \
288+
$(DOCKER_BUILD_OPTIONS) \
289+
$(DOCKER_BUILD_PLATFORM_OPTIONS) \
290+
--tag $(IMAGE) \
291+
--build-arg DRIVER_BRANCH="$(DRIVER_BRANCH)" \
292+
--build-arg DRIVER_VERSION="$(DRIVER_VERSION)" \
293+
--build-arg GOLANG_VERSION="$(GOLANG_VERSION)" \
294+
--build-arg CVE_UPDATES="$(CVE_UPDATES)" \
295+
--build-arg CUDA_VERSION="$(CUDA_VERSION)" \
296+
$(DOCKER_BUILD_ARGS) \
297+
--file $(DOCKERFILE) \
298+
$(CURDIR)/vgpu-manager/$(SUBDIR)
299+
300+
301+
302+
# $(VGPU_HOST_DRIVER_PUSH_TARGETS) is in the form of push-vgpuhost-$(DIST)
303+
# VGPU_HOST_DRIVER_VERSION must be defined in the environment when invoking this target.
304+
push-vgpuhost-%: $(if $(VGPU_HOST_DRIVER_VERSION),,$(error "VGPU_HOST_DRIVER_VERSION is not set"))
305+
push-vgpuhost-%: DRIVER_TAG = $(VGPU_HOST_DRIVER_VERSION)
306+
push-vgpuhost-%: DIST = $(word 3,$(subst -, ,$@))
307+

native-only.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,7 @@ $(DRIVER_PUSH_TARGETS): push-%:
2121
$(VGPU_GUEST_DRIVER_PUSH_TARGETS): push-vgpuguest-%:
2222
$(DOCKER) tag "$(IMAGE)" "$(OUT_IMAGE)"
2323
$(DOCKER) push "$(OUT_IMAGE)"
24+
25+
$(VGPU_HOST_DRIVER_PUSH_TARGETS): push-vgpuhost-%:
26+
$(DOCKER) tag "$(IMAGE)" "$(OUT_IMAGE)"
27+
$(DOCKER) push "$(OUT_IMAGE)"

0 commit comments

Comments
 (0)