34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
|   | SHELL := bash | ||
|  | .ONESHELL: | ||
|  | .SHELLFLAGS := -eu -o pipefail -c | ||
|  | .DELETE_ON_ERROR: | ||
|  | MAKEFLAGS += --warn-undefined-variables | ||
|  | MAKEFLAGS += --no-builtin-rules | ||
|  | 
 | ||
|  | ifeq ($(origin .RECIPEPREFIX), undefined) | ||
|  |   $(error This Make does not support .RECIPEPREFIX. Please use GNU Make 4.0 or later) | ||
|  | endif | ||
|  | .RECIPEPREFIX = > | ||
|  | 
 | ||
|  | IMAGE_NAME:=webhook-bridge-development | ||
|  | TARGET := | ||
|  | 
 | ||
|  | .PHONY: help | ||
|  | help: | ||
|  | > @grep -h "##" $(MAKEFILE_LIST) | grep -v grep | sed -E 's/^([^:]*): *## */\1:  /'
 | ||
|  | 
 | ||
|  | .PHONY: build | ||
|  | build: ## Build the docker image.
 | ||
|  | > docker build --tag $(IMAGE_NAME) --target=$(TARGET) --file Dockerfile . | ||
|  | > docker volume create webhook-bridge-cargo-registry | ||
|  | 
 | ||
|  | .PHONY: shell | ||
|  | shell: ## Launch an interactive shell inside the docker image with the source repository mounted at /source.
 | ||
|  | shell: build | ||
|  | > docker run --rm -i -t --entrypoint /bin/sh --mount type=tmpfs,destination=/tmp -v "$$(readlink -f ../../):/source" --workdir=/source --env CARGO_TARGET_DIR=/target -v "webhook-bridge-cargo-registry:/usr/local/cargo/registry" $(IMAGE_NAME) | ||
|  | 
 | ||
|  | .PHONY: clean | ||
|  | clean: | ||
|  | > docker rmi $(IMAGE_NAME) | ||
|  | > docker volume rm webhook-bridge-cargo-registry |