.PHONY: help TMUX_VERSION := 3.1b NCURSES_VERSION := 6.2 LIBEVENT_VERSION := 2.1.10-stable UTF8PROC_VERSION := 2.4.0 BUILD_DIR = $(CURDIR) BUILD_PREBUILT_DEP = $(BUILD_DIR)/prebuilt/dep BUILD_PREBUILT_TMUX = $(BUILD_DIR)/prebuilt/tmux LIBEVENT = libevent-$(LIBEVENT_VERSION) LIBEVENT_TGZ = $(LIBEVENT).tar.gz LIBEVENT_URL = https://github.com/libevent/libevent/releases/download/release-$(LIBEVENT_VERSION)/$(LIBEVENT_TGZ) NCURSES_URL = TMUX := tmux-$(TMUX_VERSION).musl-bin.tar.gz help: ## Display this help message @echo "Tmux: v$(TMUX_VERSION)" @echo "NCurses: v$(NCURSES_VERSION)" @echo "LibEvent: v$(LIBEVENT_VERSION)" @echo "UTF8Proc: v$(UTF8PROC_VERSION)" @echo "" @echo "Usage:" @sed -nE "s/^([^:]+):\\s+##\\s+(.+)$$/\tmake \\1\t- \\2/p" \ $(lastword $(MAKEFILE_LIST)) clean: ## Remove all build and dist directories -rm -rf prebuilt $(LIBEVENT) tmux: ## Build static tmux archive $(MAKE) $(TMUX) #### #### Libevent #### #### #### Libevent #### libevent: ## Download and build libevent library $(MAKE) $(BUILD_PREBUILT_DEP)/lib/libevent.a $(BUILD_PREBUILT_DEP)/lib/libevent.a: $(LIBEVENT)/.libs/libevent.a $(MAKE) -C $(LIBEVENT) install $(LIBEVENT)/.libs/libevent.a: $(LIBEVENT)/Makefile $(MAKE) -C $(LIBEVENT) -j4 all $(LIBEVENT)/Makefile: $(LIBEVENT) cd $(LIBEVENT) \ && ./configure \ --prefix="$(BUILD_PREBUILT_DEP)" \ --disable-openssl \ --enable-shared=no \ --enable-static=yes \ --with-pic $(LIBEVENT): $(LIBEVENT_TGZ) tar xzf $< $(LIBEVENT_TGZ): curl -Lk $(LIBEVENT_URL) -o $@ $(BUILD_PREBUILT_DEP): $(BUILD_DIR) mkdir -pv $@ $(BUILD_PREBUILT_TMUX): $(BUILD_DIR) mkdir -pv $@