Skip to content

Commit c0fccab

Browse files
committed
Updated makefiles
1 parent e806573 commit c0fccab

1 file changed

Lines changed: 46 additions & 24 deletions

File tree

make/system.mk

Lines changed: 46 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,39 +19,51 @@
1919
#
2020

2121
# Detect operating system
22+
PLATFORM_PROCESSOR_ARCH :=
2223
ifndef PLATFORM
2324
ifeq ($(findstring Windows,$(OS)),Windows)
24-
BUILD_SYSTEM := Windows
25+
BUILD_SYSTEM := Windows
26+
else ifeq ($(findstring Windows_NT,$(OS)),Windows_NT)
27+
BUILD_SYSTEM := Windows
2528
else
26-
BUILD_SYSTEM := $(shell uname -s 2>/dev/null || echo "Unknown")
29+
BUILD_SYSTEM := $(shell uname -s 2>/dev/null || echo "Unknown")
2730
endif
2831

29-
PLATFORM := Unknown
32+
PLATFORM := Unknown
3033

31-
ifeq ($(BUILD_SYSTEM),Windows)
32-
PLATFORM := Windows
34+
ifeq ($(findstring MINGW64_NT,$(BUILD_SYSTEM)),MINGW64_NT)
35+
PLATFORM := Windows
36+
PLATFORM_PROCESSOR_ARCH := $(shell gcc -dumpmachine)
37+
else ifeq ($(findstring MINGW32_NT,$(BUILD_SYSTEM)),MINGW32_NT)
38+
PLATFORM := Windows
39+
PLATFORM_PROCESSOR_ARCH := $(shell gcc -dumpmachine)
40+
else ifeq ($(findstring MINGW_NT,$(BUILD_SYSTEM)),MINGW_NT)
41+
PLATFORM := Windows
42+
PLATFORM_PROCESSOR_ARCH := $(shell gcc -dumpmachine)
43+
else ifeq ($(BUILD_SYSTEM),Windows)
44+
PLATFORM := Windows
3345
else ifeq ($(findstring OpenBSD,$(BUILD_SYSTEM)),OpenBSD)
34-
PLATFORM := OpenBSD
46+
PLATFORM := OpenBSD
3547
else ifeq ($(findstring BSD,$(BUILD_SYSTEM)),BSD)
36-
PLATFORM := BSD
48+
PLATFORM := BSD
3749
else ifeq ($(findstring Linux,$(BUILD_SYSTEM)),Linux)
38-
PLATFORM := Linux
50+
PLATFORM := Linux
3951
else ifeq ($(findstring SunOS,$(BUILD_SYSTEM)),SunOS)
40-
PLATFORM := Solaris
52+
PLATFORM := Solaris
4153
else ifeq ($(findstring Darwin,$(BUILD_SYSTEM)),Darwin)
42-
PLATFORM := MacOS
54+
PLATFORM := MacOS
4355
else ifeq ($(findstring Haiku,$(BUILD_SYSTEM)),Haiku)
44-
PLATFORM := Haiku
56+
PLATFORM := Haiku
4557
endif
4658
endif
4759

4860
# Detect system processor architecture
4961
ifeq ($(PLATFORM),Windows)
50-
HOST_BUILD_ARCH := $(PROCESSOR_ARCHITECTURE)
62+
HOST_BUILD_ARCH := $(if $(PLATFORM_PROCESSOR_ARCH),$(PLATFORM_PROCESSOR_ARCH),$(PROCESSOR_ARCHITECTURE))
5163
else
52-
HOST_BUILD_ARCH := $(shell uname -m)
64+
HOST_BUILD_ARCH := $(shell uname -m)
5365
endif
54-
BUILD_ARCH := $(if $(ARCHITECTURE),$(ARCHITECTURE),$(HOST_BUILD_ARCH))
66+
BUILD_ARCH := $(if $(ARCHITECTURE),$(ARCHITECTURE),$(HOST_BUILD_ARCH))
5567

5668
ifeq ($(PLATFORM),Linux)
5769
OBJ_LDFLAGS_X86 = -m elf_i386
@@ -75,23 +87,23 @@ define detect_architecture =
7587
$(2)_NAME = arm32
7688
$(2)_FAMILY = arm32
7789
$(2)_CFLAGS := -march=armv7-a+fp -marm
78-
else ifeq ($(patsubst armv6%,armv6,$(1)),armv6)
90+
else ifeq ($(findstring armv6,$(1)),armv6)
7991
$(2)_NAME = arm32
8092
$(2)_FAMILY = arm32
8193
$(2)_CFLAGS := -march=armv6 -marm
82-
else ifeq ($(patsubst armv7ve%,armv7ve,$(1)),armv7ve)
94+
else ifeq ($(findstring armv7ve,$(1)),armv7ve)
8395
$(2)_NAME = arm32
8496
$(2)_FAMILY = arm32
8597
$(2)_CFLAGS := -march=armv7ve -marm
86-
else ifeq ($(patsubst armv7%,armv7,$(1)),armv7)
98+
else ifeq ($(findstring armv7,$(1)),armv7)
8799
$(2)_NAME = arm32
88100
$(2)_FAMILY = arm32
89101
$(2)_CFLAGS := -march=armv7-a -marm
90-
else ifeq ($(patsubst armv8%,armv8,$(1)),armv8)
102+
else ifeq ($(findstring armv8,$(1)),armv8)
91103
$(2)_NAME = arm32
92104
$(2)_FAMILY = arm32
93105
$(2)_CFLAGS := -march=armv7-a -marm
94-
else ifeq ($(patsubst aarch64%,aarch64,$(1)),aarch64)
106+
else ifeq ($(findstring aarch64,$(1)),aarch64)
95107
$(2)_NAME = aarch64
96108
$(2)_FAMILY = aarch64
97109
$(2)_CFLAGS := -march=armv8-a
@@ -107,17 +119,17 @@ define detect_architecture =
107119
$(2)_NAME = arm32
108120
$(2)_FAMILY = arm32
109121
$(2)_CFLAGS := -march=armv6 -marm
110-
else ifeq ($(patsubst %x86_64%,x86_64,$(1)),x86_64)
122+
else ifeq ($(findstring x86_64,$(1)),x86_64)
111123
$(2)_NAME = x86_64
112124
$(2)_FAMILY = x86_64
113125
$(2)_CFLAGS := -march=x86-64 -m64
114126
$(2)_LDFLAGS := $(OBJ_LDFLAGS_X86_64)
115-
else ifeq ($(patsubst %amd64%,amd64,$(1)),amd64)
127+
else ifeq ($(findstring amd64,$(1)),amd64)
116128
$(2)_NAME = x86_64
117129
$(2)_FAMILY = x86_64
118130
$(2)_CFLAGS := -march=x86-64 -m64
119131
$(2)_LDFLAGS := $(OBJ_LDFLAGS_X86_64)
120-
else ifeq ($(patsubst %AMD64%,AMD64,$(1)),AMD64)
132+
else ifeq ($(findstring AMD64,$(1)),AMD64)
121133
$(2)_NAME = x86_64
122134
$(2)_FAMILY = x86_64
123135
$(2)_CFLAGS := -march=x86-64 -m64
@@ -127,12 +139,22 @@ define detect_architecture =
127139
$(2)_FAMILY = x86_64
128140
$(2)_CFLAGS := -march=x86-64 -m64
129141
$(2)_LDFLAGS := $(OBJ_LDFLAGS_X86_64)
130-
else ifeq ($(patsubst %i686%,i686,$(1)),i686)
142+
else ifeq ($(findstring i686,$(1)),i686)
131143
$(2)_NAME = i686
132144
$(2)_FAMILY = ia32
133145
$(2)_CFLAGS := -march=i686 -m32
134146
$(2)_LDFLAGS := $(OBJ_LDFLAGS_X86)
135-
else ifeq ($(patsubst i%86,i586,$(1)),i586)
147+
else ifeq ($(findstring i586,$(1)),i586)
148+
$(2)_NAME = i586
149+
$(2)_FAMILY = ia32
150+
$(2)_CFLAGS := -march=i586 -m32
151+
$(2)_LDFLAGS := $(OBJ_LDFLAGS_X86)
152+
else ifeq ($(findstring i486,$(1)),i486)
153+
$(2)_NAME = i586
154+
$(2)_FAMILY = ia32
155+
$(2)_CFLAGS := -march=i586 -m32
156+
$(2)_LDFLAGS := $(OBJ_LDFLAGS_X86)
157+
else ifeq ($(findstring i386,$(1)),i386)
136158
$(2)_NAME = i586
137159
$(2)_FAMILY = ia32
138160
$(2)_CFLAGS := -march=i586 -m32

0 commit comments

Comments
 (0)