60 lines
1.1 KiB
Makefile
60 lines
1.1 KiB
Makefile
SRC_DIR := ./src
|
|
TEST_DIR := ./script
|
|
VENDOR_DIR := ./vendor
|
|
|
|
SRC_FILES := \
|
|
$(SRC_DIR)/config.zsh \
|
|
$(SRC_DIR)/deprecated.zsh \
|
|
$(SRC_DIR)/bind.zsh \
|
|
$(SRC_DIR)/highlight.zsh \
|
|
$(SRC_DIR)/widgets.zsh \
|
|
$(SRC_DIR)/suggestion.zsh \
|
|
$(SRC_DIR)/strategies/*.zsh \
|
|
$(SRC_DIR)/start.zsh
|
|
|
|
HEADER_FILES := \
|
|
DESCRIPTION \
|
|
URL \
|
|
VERSION \
|
|
LICENSE
|
|
|
|
PLUGIN_TARGET := zsh-autosuggestions.zsh
|
|
OH_MY_ZSH_LINK_TARGET := zsh-autosuggestions.plugin.zsh
|
|
|
|
ALL_TARGETS := \
|
|
$(PLUGIN_TARGET) \
|
|
$(OH_MY_ZSH_LINK_TARGET)
|
|
|
|
SHUNIT2 := $(VENDOR_DIR)/shunit2/2.1.6
|
|
STUB_SH := $(VENDOR_DIR)/stub.sh/stub.sh
|
|
|
|
TEST_PREREQS := \
|
|
$(SHUNIT2) \
|
|
$(STUB_SH)
|
|
|
|
TEST_FILES := \
|
|
$(TEST_DIR)/**/*.zsh
|
|
|
|
all: $(ALL_TARGETS)
|
|
|
|
$(PLUGIN_TARGET): $(HEADER_FILES) $(SRC_FILES)
|
|
cat $(HEADER_FILES) | sed -e 's/^/# /g' > $@
|
|
cat $(SRC_FILES) >> $@
|
|
|
|
$(OH_MY_ZSH_LINK_TARGET): $(PLUGIN_TARGET)
|
|
ln -s $(PLUGIN_TARGET) $@
|
|
|
|
$(SHUNIT2):
|
|
git submodule update --init vendor/shunit2
|
|
|
|
$(STUB_SH):
|
|
git submodule update --init vendor/stub.sh
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm $(ALL_TARGETS)
|
|
|
|
.PHONY: test
|
|
test: all $(TEST_PREREQS)
|
|
script/test_runner.zsh
|