Files
tmux-static-build/Makefile
2020-08-27 10:34:37 -07:00

72 lines
1.7 KiB
Makefile

.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_URL = https://github.com/libevent/libevent/releases/download/release-$(LIBEVENT_VERSION)/libevent-$(LIBEVENT_VERSION).tar.gz
LIBEVENT_TGZ = libevent-$(LIBEVENT_VERSION).tar.gz
LIBEVENT_D = libevent-$(LIBEVENT_VERSION)
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_D)
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_D)/.libs/libevent.a
$(MAKE) -C $(LIBEVENT_D) install
$(LIBEVENT_D)/.libs/libevent.a: $(LIBEVENT_D)/Makefile
$(MAKE) -C $(LIBEVENT_D) -j4 all
$(LIBEVENT_D)/Makefile: $(LIBEVENT_D)
cd $(LIBEVENT_D) \
&& ./configure \
--prefix="$(BUILD_PREBUILT_DEP)" \
--disable-openssl \
--enable-shared=no \
--enable-static=yes \
--with-pic
$(LIBEVENT_D): $(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 $@