Skip to content

Commit 01e170f

Browse files
[CONFIG] Fix for old regression where COMMAND was not properly setup on UNIX. Does it still work on other platforms? (- WIP #79 -)
1 parent 8d5c97b commit 01e170f

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

Makefile

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,22 @@ ifeq "$(ERROR_LOG_PATH)" ""
3030
endif
3131

3232
ifeq "$(COMMAND)" ""
33-
COMMAND_CMD!=`command -v xcrun || command -v command || command which which || command -v which`
34-
ifeq "$(COMMAND_CMD)" "*xcrun"
33+
COMMAND_CMD=$(shell command -v xcrun || command -v command || command which which || command -v which)
34+
COMMAND_TOOL=$(notdir $(COMMAND_CMD))
35+
ifeq "$(COMMAND_TOOL)" "xcrun"
3536
COMMAND_ARGS= --find
3637
endif
37-
ifeq "$(COMMAND_CMD)" "*command"
38-
COMMAND_ARGS= -pv
38+
ifeq "$(COMMAND_TOOL)" "command"
39+
COMMAND_ARGS= -v
3940
endif
4041
ifeq "$(COMMAND_CMD)" ""
4142
COMMAND_CMD="command"
4243
endif
43-
COMMAND := $(COMMAND_CMD)$(COMMAND_ARGS)
44+
ifdef COMMAND_ARGS
45+
COMMAND := $(COMMAND_CMD) $(COMMAND_ARGS)
46+
else
47+
COMMAND := $(COMMAND_CMD)
48+
endif
4449
endif
4550

4651
ifeq "$(MAKE)" ""
@@ -53,30 +58,32 @@ ifeq "$(ECHO)" ""
5358
ECHO=printf "%s\n"
5459
endif
5560

56-
ifdef "$(ACTION)"
57-
SET_FILE_ATTR=$(COMMAND) xattr
61+
ifdef ACTION
62+
SET_FILE_ATTR=$(shell $(COMMAND) xattr)
5863
endif
5964

60-
ifdef "$(SET_FILE_ATTR)"
65+
ifdef SET_FILE_ATTR
6166
CREATEDBYBUILDSYSTEM=-w com.apple.xcode.CreatedByBuildSystem true
6267
BSMARK=$(SET_FILE_ATTR) $(CREATEDBYBUILDSYSTEM)
6368
else
64-
BSMARK=$(COMMAND) touch -a
69+
BSMARK_CMD=$(shell $(COMMAND) touch)
70+
BSMARK=$(BSMARK_CMD) -a
6571
endif
6672

6773
ifeq "$(LINK)" ""
68-
LINK=$(COMMAND) ln -sf
74+
LINK_CMD=$(shell $(COMMAND) ln)
75+
LINK=$(LINK_CMD) -sf
6976
endif
7077

7178
# Python command configuration
7279
ifeq "$(PYTHON)" ""
7380
# Try to find python3, fallback to python
74-
PY_CMD=$(COMMAND) python3
81+
PY_CMD=$(shell $(COMMAND) python3)
7582
ifneq "$(PY_CMD)" ""
7683
# Only use -B arg with python3
7784
PY_ARGS=-B
7885
else
79-
PY_CMD=$(COMMAND) python
86+
PY_CMD=$(shell $(COMMAND) python)
8087
endif
8188
# Set PYTHON only if not already set
8289
PYTHON := $(PY_CMD) $(PY_ARGS)
@@ -90,7 +97,7 @@ ifeq "$(COVERAGE)" ""
9097
endif
9198
# If COVERAGE is still not set, fall back to direct command
9299
ifeq "$(COVERAGE)" ""
93-
COVERAGE!=$(COMMAND) coverage
100+
COVERAGE=$(shell $(COMMAND) coverage)
94101
endif
95102
# Only set COV_CORE_* variables when COVERAGE is configured
96103
ifneq "$(COVERAGE)" ""
@@ -121,7 +128,7 @@ ifeq "$(WAIT)" ""
121128
endif
122129

123130
ifeq "$(INSTALL)" ""
124-
INSTALL=install
131+
INSTALL=$(shell $(COMMAND) install)
125132
ifeq "$(INST_OWN)" ""
126133
INST_OWN=-o root -g staff
127134
endif
@@ -142,11 +149,12 @@ ifeq "$(LOG)" "no"
142149
endif
143150

144151
ifeq "$(DO_FAIL)" ""
145-
DO_FAIL=$(COMMAND) :
152+
DO_FAIL=$(shell $(COMMAND) : )
146153
endif
147154

148155
ifeq "$(RM)" ""
149-
RM=$(COMMAND) rm -f
156+
RM_CMD=$(shell $(COMMAND) rm)
157+
RM=$(RM_CMD) -f
150158
endif
151159

152160
ifeq "$(RMDIR)" ""

0 commit comments

Comments
 (0)