@@ -58,9 +58,11 @@ DISTRIBUTIONS := ubuntu18.04 ubuntu20.04 ubuntu22.04 ubuntu24.04 signed_ubuntu20
5858PUSH_TARGETS := $(patsubst % , push-% , $(DISTRIBUTIONS ) )
5959BASE_FROM := noble jammy focal
6060PUSH_TARGETS := $(patsubst % , push-% , $(DISTRIBUTIONS ) )
61+ VGPU_GUEST_DRIVER_PUSH_TARGETS := $(patsubst % , push-vgpuguest-% , $(DISTRIBUTIONS ) )
6162DRIVER_PUSH_TARGETS := $(foreach push_target, $(PUSH_TARGETS ) , $(addprefix $(push_target ) -, $(DRIVER_VERSIONS ) ) )
6263BUILD_TARGETS := $(patsubst % , build-% , $(DISTRIBUTIONS ) )
6364DRIVER_BUILD_TARGETS := $(foreach build_target, $(BUILD_TARGETS ) , $(addprefix $(build_target ) -, $(DRIVER_VERSIONS ) ) )
65+ VGPU_GUEST_DRIVER_BUILD_TARGETS := $(patsubst % , build-vgpuguest-% , $(DISTRIBUTIONS ) )
6466TEST_TARGETS := $(patsubst % , test-% , $(DISTRIBUTIONS ) )
6567PULL_TARGETS := $(patsubst % , pull-% , $(DISTRIBUTIONS ) )
6668DRIVER_PULL_TARGETS := $(foreach pull_target, $(PULL_TARGETS ) , $(addprefix $(pull_target ) -, $(DRIVER_VERSIONS ) ) )
@@ -71,7 +73,7 @@ BASE_PUSH := $(patsubst %, push-base-%, $(BASE_FROM))
7173BASE_BUILD_TARGETS := $(foreach target,$(BASE_BUILD ) ,$(target ) )
7274BASE_PUSH_TARGETS := $(foreach target,$(BASE_PUSH ) ,$(target ) )
7375
74- 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 )
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 )
7577
7678ifeq ($(BUILD_MULTI_ARCH_IMAGES ) ,true)
7779include $(CURDIR ) /multi-arch.mk
@@ -221,3 +223,44 @@ $(BASE_PUSH_TARGETS):
221223 regctl \
222224 image copy \
223225 $(IMAGE ) $(OUT_IMAGE )
226+
227+ # $(VGPU_GUEST_DRIVER_BUILD_TARGETS) is in the form of build-vgpuguest-$(DIST)
228+ # The vGPU guest driver .run file is assumed to be present in the $SUBDIR/drivers/ directory.
229+ # VGPU_GUEST_DRIVER_VERSION must be defined in the environment when invoking this target.
230+ VGPU_GUEST_DRIVER_VERSION ?= ""
231+ build-vgpuguest-% : $(if $(VGPU_GUEST_DRIVER_VERSION ) ,,$(error "VGPU_GUEST_DRIVER_VERSION is not set") )
232+ # Ensure DRIVER_VERSION has the -grid suffix
233+ build-vgpuguest-% : DRIVER_VERSION := $(addsuffix -grid,$(VGPU_GUEST_DRIVER_VERSION:-grid= ) )
234+ build-vgpuguest-% : DRIVER_BRANCH = $(word 1,$(subst ., ,${DRIVER_VERSION}) )
235+ build-vgpuguest-% : DIST = $(word 3,$(subst -, ,$@ ) )
236+ build-vgpuguest-% : SUBDIR = $(word 3,$(subst -, ,$@ ) )
237+ build-vgpuguest-% : DOCKERFILE = $(CURDIR ) /$(SUBDIR ) /Dockerfile
238+ # Remove '-grid' substring in the image tag
239+ build-vgpuguest-% : DRIVER_TAG = $(DRIVER_VERSION:-grid= )
240+
241+ build-vgpuguest-rhcos% : SUBDIR = rhel8
242+
243+ $(VGPU_GUEST_DRIVER_BUILD_TARGETS ) :
244+ DOCKER_BUILDKIT=1 \
245+ $(DOCKER ) $(BUILDX ) build --pull \
246+ $(DOCKER_BUILD_OPTIONS ) \
247+ $(DOCKER_BUILD_PLATFORM_OPTIONS ) \
248+ --tag $(IMAGE ) \
249+ --build-arg DRIVER_TYPE=vgpu \
250+ --build-arg VGPU_LICENSE_SERVER_TYPE=NLS \
251+ --build-arg DRIVER_VERSION=" $( DRIVER_VERSION) " \
252+ --build-arg DRIVER_BRANCH=" $( DRIVER_BRANCH) " \
253+ --build-arg GOLANG_VERSION=" $( GOLANG_VERSION) " \
254+ --build-arg CVE_UPDATES=" $( CVE_UPDATES) " \
255+ $(DOCKER_BUILD_ARGS ) \
256+ --file $(DOCKERFILE ) \
257+ $(CURDIR ) /$(SUBDIR )
258+
259+
260+ # $(VGPU_GUEST_DRIVER_PUSH_TARGETS) is in the form of push-vgpuguest-$(DIST)
261+ # VGPU_GUEST_DRIVER_VERSION must be defined in the environment when invoking this target.
262+ push-vgpuguest-% : $(if $(VGPU_GUEST_DRIVER_VERSION ) ,,$(error "VGPU_GUEST_DRIVER_VERSION is not set") )
263+ # Remove '-grid' substring in the image tag
264+ push-vgpuguest-% : DRIVER_TAG = $(VGPU_GUEST_DRIVER_VERSION:-grid= )
265+ push-vgpuguest-% : DIST = $(word 3,$(subst -, ,$@ ) )
266+
0 commit comments