fzf/src/Makefile

52 lines
1.1 KiB
Makefile

UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
SUFFIX := darwin
else ifeq ($(UNAME_S),Linux)
SUFFIX := linux
endif
UNAME_M := $(shell uname -m)
ifeq ($(UNAME_M),x86_64)
SUFFIX := $(SUFFIX)_amd64
else ifneq ($(filter i386 i686,$(UNAME_M)),)
SUFFIX := $(SUFFIX)_386
else # TODO
$(error "$(UNAME_M) is not supported, yet.")
endif
BINARY := fzf-$(SUFFIX)
BINDIR := ../bin
SOURCES := $(wildcard *.go fzf/*.go)
RELEASE = fzf-$(shell fzf/$(BINARY) --version)-$(SUFFIX)
all: release
release: build
cd fzf && \
cp $(BINARY) $(RELEASE) && \
tar -czf $(RELEASE).tgz $(RELEASE) && \
rm $(RELEASE)
build: fzf/$(BINARY)
fzf/$(BINARY): $(SOURCES)
go get
go test -v
cd fzf && go build -o $(BINARY)
install: fzf/$(BINARY)
mkdir -p $(BINDIR)
cp -f fzf/$(BINARY) $(BINDIR)/fzf
clean:
cd fzf && rm -f $(BINARY) $(RELEASE).tgz
docker:
docker build -t junegunn/ubuntu-sandbox .
linux64:
docker run -i -t -u jg -v $(shell cd ..; pwd):/fzf junegunn/ubuntu-sandbox \
/bin/bash -ci 'cd ~jg/go/src/github.com/junegunn/fzf/src; make'
.PHONY: build release install linux64 clean docker run