From 0283c9c543c968fb0648c7eb0b38addbb7c92916 Mon Sep 17 00:00:00 2001 From: yuin Date: Wed, 27 Oct 2021 18:30:14 +0900 Subject: [PATCH] Improve benchmarks with WSL2 --- _benchmark/cmark/Makefile | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/_benchmark/cmark/Makefile b/_benchmark/cmark/Makefile index 033edc8..5362cd1 100644 --- a/_benchmark/cmark/Makefile +++ b/_benchmark/cmark/Makefile @@ -4,18 +4,39 @@ ifeq ($(OS),Windows_NT) CMARK_BIN=cmark_benchmark.exe CMARK_RUN=bash -c "PATH=./cmark-master/build/src:$${PATH} ./$(CMARK_BIN)" endif +ifneq ($(WSL_INTEROP),) + CMARK_BIN=cmark_benchmark.exe + CMARK_RUN=cp ./cmark-master/build-mingw/windows/bin/libcmark.dll . && ./$(CMARK_BIN); rm -f libcmark.dll +endif .PHONY: run run: $(CMARK_BIN) - $(CMARK_RUN) - go run ./goldmark_benchmark.go + @ $(CMARK_RUN) + @ if [ -z "$${WSL_INTEROP}" ]; then \ + go run ./goldmark_benchmark.go; \ + else \ + GOOS=windows GOARCH=amd64 go build -o goldmark_benchmark.exe ./goldmark_benchmark.go && ./goldmark_benchmark.exe; \ + fi ./cmark-master/build/src/config.h: wget -nc -O cmark.zip https://github.com/commonmark/cmark/archive/master.zip unzip cmark.zip rm -f cmark.zip - cd cmark-master && make + @ if [ -z "$${WSL_INTEROP}" ]; then \ + cd cmark-master && make; + else \ + cd cmark-master && make mingw; \ + fi $(CMARK_BIN): ./cmark-master/build/src/config.h - gcc -I./cmark-master/build/src -I./cmark-master/src cmark_benchmark.c -o $(CMARK_BIN) -L./cmark-master/build/src -lcmark + @ if [ -z "$${WSL_INTEROP}" ]; then \ + gcc -I./cmark-master/build/src -I./cmark-master/src cmark_benchmark.c -o $(CMARK_BIN) -L./cmark-master/build/src -lcmark; \ + else \ + i686-w64-mingw32-gcc -I./cmark-master/build-mingw/windows/include cmark_benchmark.c -o $(CMARK_BIN) -L./cmark-master/build-mingw/windows/lib -lcmark.dll; \ + fi + +.PHONY: clean +clean: + rm -f $(CMARK_BIN) + rm -f goldmark_benchmark.exe