85 lines
2.0 KiB
Plaintext
85 lines
2.0 KiB
Plaintext
# BuildConfig/DetectPlatform.rules
|
|
# Author: Patrick Baggett <ptbaggett@762studios.com>
|
|
# Created: 11/15/2011
|
|
#
|
|
# Purpose:
|
|
#
|
|
# OS/architecture detection rules. Requires GNU Make
|
|
#
|
|
# License:
|
|
#
|
|
# This program is free software. It comes without any warranty, to
|
|
# the extent permitted by applicable law. You can redistribute it
|
|
# and/or modify it under the terms of the Do What The Fuck You Want
|
|
# To Public License, Version 2, as published by Sam Hocevar. See
|
|
# http://sam.zoy.org/wtfpl/COPYING for more details.
|
|
|
|
# Allow user overrides of $OS and $ARCH
|
|
|
|
#==============================
|
|
# Detect operating system
|
|
#==============================
|
|
ifeq ($(OS),)
|
|
OS := $(shell uname)
|
|
ifeq ($(OS),SunOS)
|
|
OS := Solaris
|
|
endif
|
|
ifeq ($(findstring Windows,$(OS)),Windows) # *Windows* -> Windows
|
|
OS := Windows
|
|
endif
|
|
|
|
ifeq ($(findstring MINGW,$(OS)),MINGW) # *MINGW* -> Windows
|
|
OS := Windows
|
|
endif
|
|
endif
|
|
|
|
# Detect when the Win32 environment variable "Windows_NT" is set and normalize it
|
|
ifeq ($(OS),Windows_NT)
|
|
OS := Windows
|
|
endif
|
|
|
|
#==============================
|
|
# Detect processor arch
|
|
# =============================
|
|
ifeq ($(ARCH),)
|
|
ifeq ($(OS),Solaris) #Solaris likes "-p" instead of "-m"
|
|
ARCH := $(shell uname -p)
|
|
else
|
|
ARCH := $(shell uname -m)
|
|
endif
|
|
|
|
#Replace "i<x>86" with "x86", where <x> can be [x, digit]
|
|
ARCH := $(shell echo $(ARCH) | sed s/i[x0-9]86/x86/)
|
|
|
|
#Replace "powerpc" with "ppc"
|
|
ARCH := $(shell echo $(ARCH) | sed s/powerpc/ppc/)
|
|
|
|
ifeq ($(ARCH),sparc64) #Linux on UltraSPARC gives sparc64 when running 64-bit kernel
|
|
ARCH := sparc
|
|
endif
|
|
|
|
ifeq ($(ARCH),mips64) #Linux/mips64 kernel, but probably don't want 64-bit app
|
|
ARCH := mips
|
|
endif
|
|
|
|
ifeq ($(ARCH),amd64) # "amd64" -> "x86-64"
|
|
ARCH := x86-64
|
|
endif
|
|
|
|
ifeq ($(ARCH),x86_64) # "x86_64" -> "x86-64"
|
|
ARCH := x86-64
|
|
endif
|
|
|
|
ifeq ($(ARCH),armv6l) # "armv6l" -> "arm"
|
|
ARCH := arm
|
|
SUBARCH := armv6
|
|
endif
|
|
|
|
ifeq ($(ARCH),armv7l) # "armv7l" -> "arm
|
|
ARCH := arm
|
|
SUBARCH := armv7
|
|
endif
|
|
|
|
endif
|
|
|