alacritty/Makefile
Christian Duerr dfc30eeef5
Set minimum macOS version to 10.11
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.
2019-01-06 19:12:30 +00:00

52 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)