mirror of
				https://github.com/linuxkit/linuxkit.git
				synced 2025-11-04 14:16:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
all: image tag
 | 
						|
 | 
						|
IMAGE=okernel
 | 
						|
OKERNEL_REPO=https://github.com/linux-okernel/linux-okernel
 | 
						|
DEPS=Dockerfile.okernel Makefile kernel_config.okernel Dockerfile.kvmod
 | 
						|
 | 
						|
DEBUG ?= 0
 | 
						|
 | 
						|
ifdef KERNEL
 | 
						|
ifneq ($(KERNEL),latest)
 | 
						|
ifneq (,$(findstring ok-,$(KERNEL)))
 | 
						|
KERNEL_VERSION=$(KERNEL)
 | 
						|
IMAGE_VERSION=$(KERNEL_VERSION)
 | 
						|
LATEST=0
 | 
						|
else
 | 
						|
$(error Error, please specify a valid okernel kernel version beginning with "ok-")
 | 
						|
endif
 | 
						|
else
 | 
						|
KERNEL_VERSION=linux-okernel
 | 
						|
IMAGE_VERSION=$(shell git ls-remote --tags $(OKERNEL_REPO) ok-\* | awk -F"/" '{print $$3}' | tail -1)
 | 
						|
LATEST=1
 | 
						|
endif
 | 
						|
else
 | 
						|
KERNEL_VERSION=linux-okernel
 | 
						|
IMAGE_VERSION=$(shell git ls-remote --tags $(OKERNEL_REPO) ok-\* | awk -F"/" '{print $$3}' | tail -1)
 | 
						|
LATEST=1
 | 
						|
endif
 | 
						|
 | 
						|
 | 
						|
 | 
						|
ifdef HTTP_PROXY
 | 
						|
	PROXY_ARG = --build-arg HTTP_PROXY=$(HTTP_PROXY)
 | 
						|
endif
 | 
						|
 | 
						|
ifdef HTTPS_PROXY
 | 
						|
	PROXY_ARG += --build-arg HTTPS_PROXY=$(HTTPS_PROXY)
 | 
						|
endif
 | 
						|
 | 
						|
.PHONY: image push tag kvmod
 | 
						|
image: $(DEPS)
 | 
						|
	BUILD=$$( tar cf - $^ | docker build --no-cache -f $< $(PROXY_ARG) --build-arg DEBUG=$(DEBUG) --build-arg KERNEL_VERSION=$(KERNEL_VERSION) -q -t $(IMAGE):build - ) && [ -n "$$BUILD" ] && echo "Built $$BUILD" && echo "$$BUILD" > build_info
 | 
						|
 | 
						|
 | 
						|
default: tag
 | 
						|
 | 
						|
kvmod: 
 | 
						|
	docker build --no-cache --build-arg IMAGE=$(IMAGE):$(IMAGE_VERSION) -t okernel-kvmod:$(IMAGE_VERSION) - < Dockerfile.kvmod
 | 
						|
 | 
						|
push: image
 | 
						|
	(docker tag $(IMAGE):build $(IMAGE):$(IMAGE_VERSION) && \
 | 
						|
	 docker push $(IMAGE):$(IMAGE_VERSION)) 
 | 
						|
	docker rmi $(IMAGE):build
 | 
						|
	rm -f hash
 | 
						|
 | 
						|
tag: image
 | 
						|
	docker tag $(IMAGE):build $(IMAGE):$(IMAGE_VERSION)
 | 
						|
ifeq (1,$(LATEST))
 | 
						|
	docker tag $(IMAGE):build $(IMAGE):latest
 | 
						|
endif
 | 
						|
	docker rmi $(IMAGE):build
 | 
						|
	rm -f hash
 | 
						|
 | 
						|
.PHONY: clean
 | 
						|
clean:
 | 
						|
	rm -f build_info
 | 
						|
 | 
						|
.DELETE_ON_ERROR:
 |