Skip to content

Commit 943f778

Browse files
committed
up
1 parent 94e079f commit 943f778

File tree

2 files changed

+53
-25
lines changed

2 files changed

+53
-25
lines changed

Makefile

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -51,29 +51,39 @@ get-gnverifier: ${BIN_PATH}/gnverifier
5151
get-opsin: ${BIN_PATH}/opsin-${OPSIN_VERSION}-jar-with-dependencies.jar
5252

5353
bin/gnfinder: ${BIN_PATH}/gnfinder
54-
${BIN_PATH}/gnfinder: config.mk
55-
mkdir -p bin
56-
ifeq (${PLATFORM},$(filter ${PLATFORM},mac linux))
57-
curl -L https://github.com/gnames/gnfinder/releases/download/${GNFINDER_VERSION}/gnfinder-${GNFINDER_VERSION}-${PLATFORM}.tar.gz | tar xOz gnfinder > bin/gnfinder
58-
chmod +x bin/gnfinder
54+
# Use tar.gz for non-Windows, zip for Windows
55+
ifeq ($(OS),win)
56+
curl -L https://github.com/gnames/gnfinder/releases/download/${GNFINDER_VERSION}/gnfinder-${GNFINDER_VERSION}-$(OS).zip > ${BIN_PATH}/gnfinder.zip
57+
unzip -o ${BIN_PATH}/gnfinder.zip -d ${BIN_PATH}/
58+
rm ${BIN_PATH}/gnfinder.zip
5959
else
60-
curl -L https://github.com/gnames/gnfinder/releases/download/${GNFINDER_VERSION}/gnfinder-${GNFINDER_VERSION}-win-64.zip > bin/gnfinder.zip
61-
unzip -o bin/gnfinder.zip -d bin/
62-
rm bin/gnfinder.zip
60+
curl -L https://github.com/gnames/gnfinder/releases/download/${GNFINDER_VERSION}/gnfinder-${GNFINDER_VERSION}-$(OS).tar.gz | tar xOz gnfinder > ${BIN_PATH}/gnfinder
61+
chmod +x ${BIN_PATH}/gnfinder
6362
endif
6463

6564
bin/gnverifier: ${BIN_PATH}/gnverifier
6665
${BIN_PATH}/gnverifier: config.mk
67-
mkdir -p bin
68-
ifeq (${PLATFORM},$(filter ${PLATFORM},mac linux))
69-
curl -L https://github.com/gnames/gnverifier/releases/download/${GNVERIFIER_VERSION}/gnverifier-${GNVERIFIER_VERSION}-${PLATFORM}.tar.gz | tar xOz gnverifier > bin/gnverifier
70-
chmod +x bin/gnverifier
66+
mkdir -p ${BIN_PATH}
67+
rm -rf ${BIN_PATH}/tmp_extract
68+
mkdir -p ${BIN_PATH}/tmp_extract
69+
70+
ifeq ($(OS),win)
71+
curl -L https://github.com/gnames/gnverifier/releases/download/${GNVERIFIER_VERSION}/gnverifier-${GNVERIFIER_VERSION}-$(PLATFORM).zip -o ${BIN_PATH}/tmp.zip
72+
unzip -o ${BIN_PATH}/tmp.zip -d ${BIN_PATH}/tmp_extract
73+
EXE=$$(find ${BIN_PATH}/tmp_extract -type f -name "gnverifier.exe" | head -n1); \
74+
mv $$EXE ${BIN_PATH}/gnverifier.exe
75+
rm ${BIN_PATH}/tmp.zip
7176
else
72-
curl -L https://github.com/gnames/gnverifier/releases/download/${GNVERIFIER_VERSION}/gnverifier-${GNVERIFIER_VERSION}-win-64.zip > bin/gnverifier.zip
73-
unzip -o bin/gnverifier.zip -d bin/
74-
rm bin/gnverifier.zip
77+
curl -L https://github.com/gnames/gnverifier/releases/download/${GNVERIFIER_VERSION}/gnverifier-${GNVERIFIER_VERSION}-$(PLATFORM).tar.gz -o ${BIN_PATH}/tmp.tar.gz
78+
tar -xzf ${BIN_PATH}/tmp.tar.gz -C ${BIN_PATH}/tmp_extract
79+
EXE=$$(find ${BIN_PATH}/tmp_extract -type f -name "gnverifier" | head -n1); \
80+
mv $$EXE ${BIN_PATH}/gnverifier
81+
chmod +x ${BIN_PATH}/gnverifier
82+
rm ${BIN_PATH}/tmp.tar.gz
7583
endif
7684

85+
rm -rf ${BIN_PATH}/tmp_extract
86+
7787
bin/opsin-${OPSIN_VERSION}-jar-with-dependencies.jar: ${BIN_PATH}/opsin-${OPSIN_VERSION}-jar-with-dependencies.jar
7888
${BIN_PATH}/opsin-${OPSIN_VERSION}-jar-with-dependencies.jar: config.mk
7989
mkdir -p bin

config.mk

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,41 @@ export ZENODO_CUSTOM_DIC = 6487114
2323

2424
export UNAME := $(shell uname)
2525

26-
PLATFORM := unsupported
27-
ifeq ($(OS),Windows_NT)
28-
PLATFORM := windows
26+
# get OS info
27+
UNAME_S := $(shell uname -s)
28+
UNAME_M := $(shell uname -m)
29+
30+
# normalize OS
31+
ifeq ($(UNAME_S),Windows_NT)
32+
OS := win
33+
else ifeq ($(UNAME_S),Linux)
34+
OS := linux
35+
else ifeq ($(UNAME_S),Darwin)
36+
OS := mac
2937
else
30-
UNAME_S := $(shell uname -s)
31-
ifeq ($(UNAME_S),Linux)
32-
PLATFORM := linux
33-
endif
34-
ifeq ($(UNAME_S),Darwin)
35-
PLATFORM := mac
36-
endif
38+
OS := unsupported
3739
endif
3840

41+
# normalize architecture
42+
ifeq ($(UNAME_M),x86_64)
43+
ARCH := amd64
44+
else ifeq ($(UNAME_M),aarch64)
45+
ARCH := arm64
46+
else ifeq ($(UNAME_M),arm64)
47+
ARCH := arm64
48+
else
49+
ARCH := unknown
50+
endif
51+
52+
PLATFORM := $(OS)-$(ARCH)
53+
3954
NPROCS := 1
4055
ifeq ($(UNAME_S),Linux)
4156
NPROCS := $(shell grep -c ^processor /proc/cpuinfo)
4257
endif
4358
ifeq ($(UNAME_S),Darwin)
4459
NPROCS := $(shell sysctl -n hw.ncpu)
4560
endif
61+
62+
show-platform:
63+
@echo $(PLATFORM)

0 commit comments

Comments
 (0)