aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorSemyon Pisarev <cema.rus@gmail.com>2017-01-12 13:01:52 +0300
committerBryce Fisher-Fleig <hckr1292@gmail.com>2017-03-06 10:27:25 -0800
commit0ef98733eaed4b2ce25faf2bb9f3476938e76123 (patch)
treea8bd536830fddbd822e26aa6710d6f5ccda75ef7 /Makefile
parent377193c5edcae7159f4bd8e4f99b65ce4cc1415b (diff)
downloadalacritty-0ef98733eaed4b2ce25faf2bb9f3476938e76123.tar.gz
alacritty-0ef98733eaed4b2ce25faf2bb9f3476938e76123.zip
Add Makefile and .app
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile45
1 files changed, 45 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..6eb4d521
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,45 @@
+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_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)
+
+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
+$(TARGET):
+ @echo "Please build '$@' with 'cargo build --release'"
+
+app: | $(APP_NAME) ## Clone Alacritty.app template and mount binary
+$(APP_NAME): $(TARGET) $(APP_TEMPLATE)
+ @mkdir -p $(APP_DIR)
+ @cp -R $(APP_TEMPLATE) $(APP_DIR)
+ @cp $< $(APP_BINARY_DIR)
+ @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)"
+
+.PHONY: app binary clean dmg
+
+clean: ## Remove all artifacts
+ -rm -rf $(APP_DIR)