|
53 | 53 | endif
|
54 | 54 | BUILD_ARCH := $(if $(ARCHITECTURE),$(ARCHITECTURE),$(HOST_BUILD_ARCH))
|
55 | 55 |
|
| 56 | +ifeq ($(PLATFORM),Linux) |
| 57 | + OBJ_LDFLAGS_X86 = -m elf_i386 |
| 58 | + OBJ_LDFLAGS_X86_64 = -m elf_x86_64 |
| 59 | +else ifeq ($(PLATFORM),BSD) |
| 60 | + OBJ_LDFLAGS_X86 = -m elf_i386 |
| 61 | + OBJ_LDFLAGS_X86_64 = -m elf_x86_64 |
| 62 | +else ifeq ($(PLATFORM),Windows |
| 63 | + OBJ_LDFLAGS_X86 = -m i386pe |
| 64 | + OBJ_LDFLAGS_X86_64 = -m i386pep |
| 65 | +endif |
| 66 | + |
56 | 67 | # Set actual architecture for HOST and TARGET builds
|
57 | 68 | # The current architecture can be obtained by: gcc -Q --help=target
|
58 | 69 | define detect_architecture =
|
@@ -100,37 +111,37 @@ define detect_architecture =
|
100 | 111 | $(2)_NAME = x86_64
|
101 | 112 | $(2)_FAMILY = x86_64
|
102 | 113 | $(2)_CFLAGS := -march=x86-64 -m64
|
103 |
| - $(2)_LDFLAGS := -m elf_x86_64 |
| 114 | + $(2)_LDFLAGS := $(OBJ_LDFLAGS_X86_64) |
104 | 115 | else ifeq ($(patsubst %amd64%,amd64,$(1)),amd64)
|
105 | 116 | $(2)_NAME = x86_64
|
106 | 117 | $(2)_FAMILY = x86_64
|
107 | 118 | $(2)_CFLAGS := -march=x86-64 -m64
|
108 |
| - $(2)_LDFLAGS := -m elf_x86_64 |
| 119 | + $(2)_LDFLAGS := $(OBJ_LDFLAGS_X86_64) |
109 | 120 | else ifeq ($(patsubst %AMD64%,AMD64,$(1)),AMD64)
|
110 | 121 | $(2)_NAME = x86_64
|
111 | 122 | $(2)_FAMILY = x86_64
|
112 | 123 | $(2)_CFLAGS := -march=x86-64 -m64
|
113 |
| - $(2)_LDFLAGS := -m elf_x86_64 |
| 124 | + $(2)_LDFLAGS := $(OBJ_LDFLAGS_X86_64) |
114 | 125 | else ifeq ($(1),i86pc)
|
115 | 126 | $(2)_NAME = x86_64
|
116 | 127 | $(2)_FAMILY = x86_64
|
117 | 128 | $(2)_CFLAGS := -march=x86-64 -m64
|
118 |
| - $(2)_LDFLAGS := -m elf_x86_64 |
| 129 | + $(2)_LDFLAGS := $(OBJ_LDFLAGS_X86_64) |
119 | 130 | else ifeq ($(patsubst %i686%,i686,$(1)),i686)
|
120 | 131 | $(2)_NAME = i686
|
121 | 132 | $(2)_FAMILY = ia32
|
122 | 133 | $(2)_CFLAGS := -march=i686 -m32
|
123 |
| - $(2)_LDFLAGS := -m elf_i386 |
| 134 | + $(2)_LDFLAGS := $(OBJ_LDFLAGS_X86) |
124 | 135 | else ifeq ($(patsubst i%86,i586,$(1)),i586)
|
125 | 136 | $(2)_NAME = i586
|
126 | 137 | $(2)_FAMILY = ia32
|
127 | 138 | $(2)_CFLAGS := -march=i586 -m32
|
128 |
| - $(2)_LDFLAGS := -m elf_i386 |
| 139 | + $(2)_LDFLAGS := $(OBJ_LDFLAGS_X86) |
129 | 140 | else ifeq ($(1),x86)
|
130 | 141 | $(2)_NAME = i686
|
131 | 142 | $(2)_FAMILY = ia32
|
132 | 143 | $(2)_CFLAGS := -march=i686 -m32
|
133 |
| - $(2)_LDFLAGS := -m elf_i386 |
| 144 | + $(2)_LDFLAGS := $(OBJ_LDFLAGS_X86) |
134 | 145 | else ifeq ($(1),riscv32)
|
135 | 146 | $(2)_NAME = riscv32
|
136 | 147 | $(2)_FAMILY = riscv32
|
|
0 commit comments