1ifeq ($(OS),Windows_NT)
2
3undefine POSIXSHELL
4undefine _ZIMK_NOMANGLE
5ifneq ($(strip $(filter %sh,$(basename $(realpath $(SHELL))))),)
6POSIXSHELL := 1
7_ZIMK_NOMANGLE := MSYS_NO_PATHCONV=1 CYGWIN_DISABLE_ARGUMENT_MANGLING=1 \
8	MSYS2_ARG_CONV_EXCL="*"
9endif
10
11OSVER := $(subst ],,$(lastword $(shell $(_ZIMK_NOMANGLE) cmd /c ver)))
12_ZIMK__OSVER := $(subst ., ,$(OSVER))
13OSVER_MAJ := $(firstword $(_ZIMK__OSVER))
14OSVER_MIN := $(word 2, $(_ZIMK__OSVER))
15OSVER_REV := $(word 3, $(_ZIMK__OSVER))
16
17else
18
19POSIXSHELL := 1
20
21endif
22
23ifdef POSIXSHELL
24
25CMDSEP := ;
26PSEP := /
27CPF := cp -f
28RMF := rm -f
29RMFR := rm -fr
30MDP := mkdir -p
31MV := mv
32STAMP := touch
33XIF := if [ -x
34XTHEN := ]; then
35XFI := ; fi
36CATIN := cat
37CATADD :=
38CATOUT := >
39READ := cat
40EQT := "
41#" make vim syntax highlight happy
42CMDQUIET := >/dev/null 2>&1
43CODNOERR := 2>/dev/null
44CMDNOIN := </dev/null
45
46INSTALL ?= install
47INSTDIR := $(INSTALL) -d
48
49instfile = $(INSTDIR) $(2) $(CMDSEP) $(INSTALL) -m$(3) $(1) $(2)
50geq = $(shell if test $(1) -ge $(2); then echo 1; fi)
51
52touch = touch $(1)
53
54SYSNAME := $(shell uname 2>/dev/null)
55
56else
57
58CMDSEP := &
59PSEP := \\
60CPF := copy /y
61RMF := del /f /q
62RMFR := -rd /s /q
63MDP := -md
64MV := move
65STAMP := copy /y NUL
66XIF := if exist
67XTHEN := (
68XFI := )
69CATIN := copy /b
70CATADD := +
71CATOUT :=
72READ := type
73EQT :=
74CMDQUIET := >nul 2>nul & verify >nul
75CMDNOERR := 2>nul & verify >nul
76CMDNOIN := <nul
77
78INSTDIR := $(MDP)
79
80instfile = $(MDP) $(dir $(2)) $(CMDQUIET) $(CMDSEP) copy $(1) $(2) $(CMDQUIET)
81geq = $(shell if $(1) geq $(2) echo 1)
82
83touch = copy /b $(1) +,,
84
85SYSNAME := $(shell uname 2>nul & verify >nul)
86
87endif
88
89