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