ifeq ($(USE_64), 1) 64BIT_TAG=_64 else 64BIT_TAG= endif
OS_ARCH := $(subst /,_,$(shell uname -s))
OS_TEST := $(shell uname -m) ifeq ($(OS_TEST),i86pc) OS_RELEASE := $(shell uname -r)_$(OS_TEST) else OS_RELEASE := $(shell uname -r) endif
ifeq ($(OS_ARCH),IRIX64) OS_ARCH = IRIX endif
ifeq ($(OS_ARCH),BSD_386) OS_ARCH = BSD_OS endif
ifeq ($(OS_ARCH),UNIX_SV) ifneq ($(findstring NCR, $(shell grep NCR /etc/bcheckrc | head -1 )),) OS_ARCH = NCR else # Make UnixWare something human readable OS_ARCH = UNIXWARE endif
# Get the OS release number, not 4.2 OS_RELEASE := $(shell uname -v)
endif
ifeq ($(OS_ARCH),UNIX_System_V) OS_ARCH = NEC endif
ifeq ($(OS_ARCH),AIX) OS_RELEASE := $(shell uname -v).$(shell uname -r) endif
ifeq ($(OS_ARCH)$(OS_RELEASE),OSF1V4.0) OS_VERSION := $(shell uname -v) ifeq ($(OS_VERSION),564) OS_RELEASE := V4.0B endif ifeq ($(OS_VERSION),878) OS_RELEASE := V4.0D endif endif
ifeq ($(OS_ARCH),ReliantUNIX-N) OS_ARCH = ReliantUNIX OS_RELEASE = 5.4 endif
ifeq ($(OS_ARCH),SINIX-N) OS_ARCH = ReliantUNIX OS_RELEASE = 5.4 endif
ifeq (,$(filter-out Linux FreeBSD IRIX,$(OS_ARCH))) OS_RELEASE := $(shell echo $(OS_RELEASE) | sed 's/-.*//') endif
ifeq ($(OS_ARCH),Linux) OS_RELEASE := $(subst ., ,$(OS_RELEASE)) ifneq ($(words $(OS_RELEASE)),1) OS_RELEASE := $(word 1,$(OS_RELEASE)).$(word 2,$(OS_RELEASE)) endif endif
ifeq ($(OS_ARCH),OS_2) OS_ARCH = OS2 OS_RELEASE := $(shell uname -v) endif
ifndef CPU_ARCH ifeq ($(OS_ARCH), WINNT) CPU_ARCH := $(shell uname -p) ifeq ($(CPU_ARCH),I386) CPU_ARCH = x386 endif endif endif
ifeq ($(OS_ARCH), Windows_NT) OS_ARCH = WINNT OS_MINOR_RELEASE := $(shell uname -v) # strip leading 0 OS_MINOR_RELEASE := $(patsubst 0%,%,$(OS_MINOR_RELEASE)) OS_RELEASE := $(OS_RELEASE).$(OS_MINOR_RELEASE) ifndef CPU_ARCH CPU_ARCH := $(shell uname -m) # # MKS's uname -m returns "586" on a Pentium machine. # ifneq (,$(findstring 86,$(CPU_ARCH))) CPU_ARCH = x386 endif endif endif
ifeq (CYGWIN_NT,$(findstring CYGWIN_NT,$(OS_ARCH)))
OS_RELEASE := $(patsubst CYGWIN_NT-%,%,$(OS_ARCH))
OS_ARCH = WINNT
ifndef CPU_ARCH
ifeq (WOW64,$(findstring WOW64,$(OS_RELEASE)))
OS_RELEASE := $(patsubst %-WOW64,%,$(OS_RELEASE))
endif
CPU_ARCH := $(shell uname -m)
#
# Cygwin's uname -m returns "i686" on a Pentium Pro machine.
#
ifneq (,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x386
endif
endif
endif
ifeq (MINGW32_NT,$(findstring MINGW32_NT,$(OS_ARCH))) OS_RELEASE := $(patsubst MINGW32_NT-%,%,$(OS_ARCH)) OS_ARCH = WINNT USE_MSYS = 1 ifndef CPU_ARCH CPU_ARCH := $(shell uname -m) # # MSYS's uname -m returns "i686" on a Pentium Pro machine. # ifneq (,$(findstring 86,$(CPU_ARCH))) CPU_ARCH = x386 endif endif endif
ifeq ($(OS_TARGET),Android)
OS_TEST := arm OS_ARCH = Android ifndef OS_TARGET_RELEASE OS_TARGET_RELEASE := 8 endif endif
ifndef OS_TARGET ifeq ($(OS_ARCH), WINNT) OS_TARGET = WIN95 else OS_TARGET = $(OS_ARCH) endif endif
ifeq ($(OS_TARGET), WIN95) OS_RELEASE = 4.0 endif
ifdef OS_TARGET_RELEASE OS_RELEASE = $(OS_TARGET_RELEASE) endif
OS_CONFIG = $(OS_TARGET)$(OS_RELEASE)
ifdef BUILD_OPT OBJDIR_TAG = $(64BIT_TAG)_OPT else ifdef BUILD_IDG OBJDIR_TAG = $(64BIT_TAG)_IDG else OBJDIR_TAG = $(64BIT_TAG)_DBG endif endif
OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJ
ifeq (,$(filter-out WIN%,$(OS_TARGET))) ifndef BUILD_OPT
ifdef USE_DEBUG_RTL OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJD endif endif endif
MK_ARCH = included