51 lines
1.0 KiB
Makefile
51 lines
1.0 KiB
Makefile
# shared.mk
|
|
#
|
|
# environment variables common to all operating systems supported by the make system
|
|
|
|
# Make sure we know a few things about the architecture
|
|
UNAME := $(shell uname)
|
|
ARCH := $(shell uname -m)
|
|
ifneq (,$(filter $(ARCH), x86_64 amd64))
|
|
X86-64 := 1
|
|
X86_64 := 1
|
|
AMD64 := 1
|
|
ARCHFAMILY := x86_64
|
|
else
|
|
ARCHFAMILY := $(ARCH)
|
|
endif
|
|
|
|
# configure some variables dependent upon what type of system this is
|
|
|
|
# Linux
|
|
ifeq ($(UNAME), Linux)
|
|
OSFAMILY := linux
|
|
LINUX := 1
|
|
endif
|
|
|
|
# Mac OSX
|
|
ifeq ($(UNAME), Darwin)
|
|
OSFAMILY := macosx
|
|
MACOSX := 1
|
|
endif
|
|
|
|
# Windows using MinGW shell
|
|
ifeq (MINGW, $(findstring MINGW,$(UNAME)))
|
|
OSFAMILY := windows
|
|
MINGW := 1
|
|
WINDOWS := 1
|
|
endif
|
|
|
|
# Windows using Cygwin shell
|
|
ifeq (CYGWIN ,$(findstring CYGWIN,$(UNAME)))
|
|
OSFAMILY := windows
|
|
WINDOWS := 1
|
|
CYGWIN := 1
|
|
endif
|
|
|
|
# report an error if we couldn't work out what OS this is running on
|
|
ifndef OSFAMILY
|
|
$(info uname reports $(UNAME))
|
|
$(info uname -m reports $(ARCH))
|
|
$(error failed to detect operating system)
|
|
endif
|