...
1CMARK_BIN=cmark_benchmark
2CMARK_RUN=LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./cmark-master/build/src ./$(CMARK_BIN)
3ifeq ($(OS),Windows_NT)
4 CMARK_BIN=cmark_benchmark.exe
5 CMARK_RUN=bash -c "PATH=./cmark-master/build/src:$${PATH} ./$(CMARK_BIN)"
6endif
7ifneq ($(WSL_INTEROP),)
8 CMARK_BIN=cmark_benchmark.exe
9 CMARK_RUN=cp ./cmark-master/build-mingw/windows/bin/libcmark.dll . && ./$(CMARK_BIN); rm -f libcmark.dll
10endif
11
12.PHONY: run
13
14run: $(CMARK_BIN)
15 @ $(CMARK_RUN)
16 @ if [ -z "$${WSL_INTEROP}" ]; then \
17 go run ./goldmark_benchmark.go; \
18 else \
19 GOOS=windows GOARCH=amd64 go build -o goldmark_benchmark.exe ./goldmark_benchmark.go && ./goldmark_benchmark.exe; \
20 fi
21
22./cmark-master/Makefile:
23 wget -nc -O cmark.zip https://github.com/commonmark/cmark/archive/master.zip
24 unzip cmark.zip
25 rm -f cmark.zip
26 @ if [ -z "$${WSL_INTEROP}" ]; then \
27 cd cmark-master && make; \
28 else \
29 cd cmark-master && make mingw; \
30 fi
31
32$(CMARK_BIN): ./cmark-master/Makefile
33 @ if [ -z "$${WSL_INTEROP}" ]; then \
34 gcc -I./cmark-master/build/src -I./cmark-master/src cmark_benchmark.c -o $(CMARK_BIN) -L./cmark-master/build/src -lcmark; \
35 else \
36 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; \
37 fi
38
39.PHONY: clean
40clean:
41 rm -f $(CMARK_BIN)
42 rm -f goldmark_benchmark.exe
View as plain text