mirror of
				https://github.com/alacritty/alacritty.git
				synced 2025-10-30 23:36:53 -04:00 
			
		
		
		
	To make sure that CI builds produced by Travis work on all supported versions of macOS and building Alacritty works on all supported versions, the minimum macOS version has been set in the Makefile. This sets the minimum macOS version to `10.11` as a reasonable estimation based on other applications. If the exact version chosen turns out to cause some issues, it can be changed in the future.
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
TARGET = alacritty
 | 
						|
 | 
						|
APP_NAME = Alacritty.app
 | 
						|
ASSETS_DIR = assets
 | 
						|
RELEASE_DIR = target/release
 | 
						|
APP_TEMPLATE = $(ASSETS_DIR)/osx/$(APP_NAME)
 | 
						|
APP_DIR = $(RELEASE_DIR)/osx
 | 
						|
APP_BINARY = $(RELEASE_DIR)/$(TARGET)
 | 
						|
APP_BINARY_DIR  = $(APP_DIR)/$(APP_NAME)/Contents/MacOS
 | 
						|
 | 
						|
DMG_NAME = Alacritty.dmg
 | 
						|
DMG_DIR = $(RELEASE_DIR)/osx
 | 
						|
 | 
						|
vpath $(TARGET) $(RELEASE_DIR)
 | 
						|
vpath $(APP_NAME) $(APP_DIR)
 | 
						|
vpath $(DMG_NAME) $(APP_DIR)
 | 
						|
 | 
						|
all: help
 | 
						|
 | 
						|
help: ## Prints help for targets with comments
 | 
						|
	@grep -E '^[a-zA-Z._-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
 | 
						|
 | 
						|
binary: | $(TARGET) ## Build release binary with cargo
 | 
						|
$(TARGET):
 | 
						|
	MACOSX_DEPLOYMENT_TARGET="10.11" cargo build --release
 | 
						|
 | 
						|
app: | $(APP_NAME) ## Clone Alacritty.app template and mount binary
 | 
						|
$(APP_NAME): $(TARGET) $(APP_TEMPLATE)
 | 
						|
	@mkdir -p $(APP_BINARY_DIR)
 | 
						|
	@cp -fRp $(APP_TEMPLATE) $(APP_DIR)
 | 
						|
	@cp -fp $(APP_BINARY) $(APP_BINARY_DIR)
 | 
						|
	@touch -r "$(APP_BINARY)" "$(APP_DIR)/$(APP_NAME)"
 | 
						|
	@echo "Created '$@' in '$(APP_DIR)'"
 | 
						|
 | 
						|
dmg: | $(DMG_NAME) ## Pack Alacritty.app into .dmg
 | 
						|
$(DMG_NAME): $(APP_NAME)
 | 
						|
	@echo "Packing disk image..."
 | 
						|
	@hdiutil create $(DMG_DIR)/$(DMG_NAME) \
 | 
						|
		-volname "Alacritty" \
 | 
						|
		-fs HFS+ \
 | 
						|
		-srcfolder $(APP_DIR) \
 | 
						|
		-ov -format UDZO
 | 
						|
	@echo "Packed '$@' in '$(APP_DIR)'"
 | 
						|
 | 
						|
install: $(DMG_NAME) ## Mount disk image
 | 
						|
	@open $(DMG_DIR)/$(DMG_NAME)
 | 
						|
 | 
						|
.PHONY: app binary clean dmg install $(TARGET)
 | 
						|
 | 
						|
clean: ## Remove all artifacts
 | 
						|
	-rm -rf $(APP_DIR)
 |