Files
simplex-chat/Makefile
T

38 lines
1.4 KiB
Makefile

.DEFAULT_GOAL := help
NIX_TARGET ?= all
NIX_ARGS ?=
export NIX_SYSTEM
export NIX_OUT_DIR
export NIX_BUILD_TIMEOUT
.PHONY: help nix-list nix-build nix-native nix-android nix-windows nix-linux-static nix-ios nix-darwin-libs
help: ## Show build commands.
@awk 'BEGIN { FS = ":.*## " } /^[a-zA-Z_-]+:.*## / { printf " %-20s %s\n", $$1, $$2 }' $(MAKEFILE_LIST)
# The flake lock selects the compiler; these targets never install a stock GHC.
nix-list: ## List selected Hydra outputs without building (NIX_TARGET=all).
@./scripts/nix/build.sh --list $(NIX_TARGET)
nix-build: ## Build the host's existing Hydra outputs (NIX_TARGET=all, NIX_ARGS=...).
./scripts/nix/build.sh $(NIX_TARGET) $(NIX_ARGS)
nix-native: ## Build the native Haskell library and CLI.
./scripts/nix/build.sh native $(NIX_ARGS)
nix-android: ## Build both Android ABIs and their support libraries on x86_64-linux.
./scripts/nix/build.sh android $(NIX_ARGS)
nix-windows: ## Cross-build the Windows library and CLI on x86_64-linux.
./scripts/nix/build.sh windows $(NIX_ARGS)
nix-linux-static: ## Cross-build the x86_64, i686, and aarch64 Linux static CLIs.
./scripts/nix/build.sh linux-static $(NIX_ARGS)
nix-ios: ## Build the iOS Haskell library ZIP on the selected Darwin host.
./scripts/nix/build.sh ios $(NIX_ARGS)
nix-darwin-libs: ## Build Swift JSON and tagged JSON library ZIPs on Darwin.
./scripts/nix/build.sh darwin-libs $(NIX_ARGS)