@@ -59,10 +59,12 @@ PUSH_TARGETS := $(patsubst %, push-%, $(DISTRIBUTIONS))
5959BASE_FROM := noble jammy focal
6060PUSH_TARGETS := $(patsubst % , push-% , $(DISTRIBUTIONS ) )
6161VGPU_GUEST_DRIVER_PUSH_TARGETS := $(patsubst % , push-vgpuguest-% , $(DISTRIBUTIONS ) )
62+ VGPU_HOST_DRIVER_PUSH_TARGETS := $(patsubst % , push-vgpuhost-% , $(DISTRIBUTIONS ) )
6263DRIVER_PUSH_TARGETS := $(foreach push_target, $(PUSH_TARGETS ) , $(addprefix $(push_target ) -, $(DRIVER_VERSIONS ) ) )
6364BUILD_TARGETS := $(patsubst % , build-% , $(DISTRIBUTIONS ) )
6465DRIVER_BUILD_TARGETS := $(foreach build_target, $(BUILD_TARGETS ) , $(addprefix $(build_target ) -, $(DRIVER_VERSIONS ) ) )
6566VGPU_GUEST_DRIVER_BUILD_TARGETS := $(patsubst % , build-vgpuguest-% , $(DISTRIBUTIONS ) )
67+ VGPU_HOST_DRIVER_BUILD_TARGETS := $(patsubst % , build-vgpuhost-% , $(DISTRIBUTIONS ) )
6668TEST_TARGETS := $(patsubst % , test-% , $(DISTRIBUTIONS ) )
6769PULL_TARGETS := $(patsubst % , pull-% , $(DISTRIBUTIONS ) )
6870DRIVER_PULL_TARGETS := $(foreach pull_target, $(PULL_TARGETS ) , $(addprefix $(pull_target ) -, $(DRIVER_VERSIONS ) ) )
@@ -73,7 +75,7 @@ BASE_PUSH := $(patsubst %, push-base-%, $(BASE_FROM))
7375BASE_BUILD_TARGETS := $(foreach target,$(BASE_BUILD ) ,$(target ) )
7476BASE_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
7880ifeq ($(BUILD_MULTI_ARCH_IMAGES ) ,true)
7981include $(CURDIR ) /multi-arch.mk
@@ -267,3 +269,39 @@ push-vgpuguest-%: $(if $(VGPU_GUEST_DRIVER_VERSION),,$(error "VGPU_GUEST_DRIVER_
267269push-vgpuguest-% : DRIVER_TAG = $(VGPU_GUEST_DRIVER_VERSION:-grid= )
268270push-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+
0 commit comments