51 lines
1.5 KiB
Makefile
51 lines
1.5 KiB
Makefile
# Package configuration
|
|
PROJECT = enry
|
|
COMMANDS = cli/enry
|
|
|
|
# Including ci Makefile
|
|
MAKEFILE = Makefile.main
|
|
CI_REPOSITORY = https://github.com/src-d/ci.git
|
|
CI_FOLDER = .ci
|
|
|
|
# If you need to build more than one dockerfile, you can do so like this:
|
|
# DOCKERFILES = Dockerfile_filename1:repositoryname1 Dockerfile_filename2:repositoryname2 ...
|
|
|
|
$(MAKEFILE):
|
|
@git clone --quiet $(CI_REPOSITORY) $(CI_FOLDER); \
|
|
cp $(CI_FOLDER)/$(MAKEFILE) .;
|
|
|
|
-include $(MAKEFILE)
|
|
|
|
LINGUIST_PATH = .linguist
|
|
|
|
# build CLI
|
|
LOCAL_TAG := $(shell git describe --tags --abbrev=0)
|
|
LOCAL_COMMIT := $(shell git rev-parse --short HEAD)
|
|
LOCAL_BUILD := $(shell date +"%m-%d-%Y_%H_%M_%S")
|
|
LOCAL_LDFLAGS = -s -X main.version=$(LOCAL_TAG) -X main.build=$(LOCAL_BUILD) -X main.commit=$(LOCAL_COMMIT)
|
|
|
|
$(LINGUIST_PATH):
|
|
git clone https://github.com/github/linguist.git $@
|
|
|
|
clean-linguist:
|
|
rm -rf $(LINGUIST_PATH)
|
|
|
|
clean: clean-linguist
|
|
|
|
code-generate: $(LINGUIST_PATH)
|
|
mkdir -p data
|
|
go run internal/code-generator/main.go
|
|
|
|
benchmarks: $(LINGUIST_PATH)
|
|
go test -run=NONE -bench=. && benchmarks/linguist-total.sh
|
|
|
|
benchmarks-samples: $(LINGUIST_PATH)
|
|
go test -run=NONE -bench=. -benchtime=5us && benchmarks/linguist-samples.rb
|
|
|
|
benchmarks-slow: $(LINGUST_PATH)
|
|
mkdir -p benchmarks/output && go test -run=NONE -bench=. -slow -benchtime=100ms -timeout=100h >benchmarks/output/enry_samples.bench && \
|
|
benchmarks/linguist-samples.rb 5 >benchmarks/output/linguist_samples.bench
|
|
|
|
build-cli:
|
|
go build -o enry -ldflags "$(LOCAL_LDFLAGS)" cli/enry/main.go
|