@@ -86,74 +86,63 @@ GIT ?= $(X_GIT_TOOL)
8686INSTALL ?= $(X_INSTALL_TOOL )
8787
8888# Patch flags and tools for (cross) build
89- FLAG_RELRO = -Wl,-z,relro,-z,now
90- FLAG_GC_SECTIONS = -Wl,--gc-sections
91- FLAG_STDLIB =
92- CFLAGS_EXT = $(ARCHITECTURE_CFLAGS )
93- CXXFLAGS_EXT = $(ARCHITECTURE_CFLAGS )
94- EXE_FLAGS_EXT = $(ARCHITECTURE_CFLAGS )
95- SO_FLAGS_EXT = $(ARCHITECTURE_CFLAGS )
96- LDFLAGS_EXT = $(ARCHITECTURE_LDFLAGS )
89+ FLAG_RELRO := -Wl,-z,relro,-z,now
90+ FLAG_STDLIB :=
91+ NOARCH_CFLAGS :=
92+ NOARCH_CXXFLAGS :=
93+ NOARCH_EXE_FLAGS :=
94+ NOARCH_SO_FLAGS :=
95+ NOARCH_LDFLAGS :=
9796
9897ifeq ($(PLATFORM ) ,Solaris)
9998 FLAG_RELRO =
10099 LD = gld
101100else ifeq ($(PLATFORM),Windows)
102101 FLAG_RELRO =
103102 FLAG_STDLIB =
104- CFLAGS_EXT += -DWINVER=0x600 -D_WIN32_WINNT=0x600
105- CXXFLAGS_EXT += -DWINVER=0x600 -D_WIN32_WINNT=0x600
106- EXE_FLAGS_EXT += -static-libgcc -static-libstdc++
107- SO_FLAGS_EXT += -static-libgcc -static-libstdc++
108- LDFLAGS_EXT += -T $(CURDIR ) /make/ld-windows.script
109- else ifeq ($(PLATFORM),MacOS)
110- FLAG_RELRO =
111- FLAG_GC_SECTIONS =
112- CXXFLAGS_EXT += --std=c++11
113- else ifeq ($(PLATFORM),Haiku)
114- EXE_FLAGS_EXT += -L/system/lib -L/system/develop/lib
115- SO_FLAGS_EXT += -L/system/lib -L/system/develop/lib
116- CXXFLAGS_EXT += -D_GNU_SOURCE -D_BSD_SOURCE
117- CFLAGS_EXT += -D_GNU_SOURCE -D_BSD_SOURCE
118- LDFLAGS_EXT += -L/system/develop/lib/
103+ NOARCH_CFLAGS += -DWINVER=0x600 -D_WIN32_WINNT=0x600
104+ NOARCH_CXXFLAGS += -DWINVER=0x600 -D_WIN32_WINNT=0x600
105+ NOARCH_EXE_FLAGS += -static-libgcc -static-libstdc++
106+ NOARCH_SO_FLAGS += -static-libgcc -static-libstdc++
107+ NOARCH_LDFLAGS += -T $(CURDIR ) /make/ld-windows.script
119108else ifeq ($(PLATFORM),BSD)
120- EXE_FLAGS_EXT += -L/usr/local/lib
121- SO_FLAGS_EXT += -L/usr/local/lib
109+ NOARCH_EXE_FLAGS += -L/usr/local/lib
110+ NOARCH_SO_FLAGS += -L/usr/local/lib
122111endif
123112
124113ifeq ($(DEBUG ) ,1)
125- CFLAGS_EXT += -Og -g3 -DLSP_DEBUG -falign-functions=16
126- CXXFLAGS_EXT += -Og -g3 -DLSP_DEBUG -falign-functions=16
114+ NOARCH_CFLAGS += -Og -g3 -DLSP_DEBUG -falign-functions=16
115+ NOARCH_CXXFLAGS += -Og -g3 -DLSP_DEBUG -falign-functions=16
127116else
128- CFLAGS_EXT += -O2
129- CXXFLAGS_EXT += -O2
117+ NOARCH_CFLAGS += -O2
118+ NOARCH_CXXFLAGS += -O2
130119endif
131120
132121ifeq ($(ASAN ) ,1)
133- CFLAGS_EXT += -fsanitize=address
134- CXXFLAGS_EXT += -fsanitize=address
135- EXE_FLAGS_EXT += -fsanitize=address
136- SO_FLAGS_EXT += -fsanitize=address
122+ NOARCH_CFLAGS += -fsanitize=address
123+ NOARCH_CXXFLAGS += -fsanitize=address
124+ NOARCH_EXE_FLAGS += -fsanitize=address
125+ NOARCH_SO_FLAGS += -fsanitize=address
137126endif
138127
139128ifeq ($(PROFILE ) ,1)
140- CFLAGS_EXT += -pg -DLSP_PROFILE
141- CXXFLAGS_EXT += -pg -DLSP_PROFILE
129+ NOARCH_CFLAGS += -pg -DLSP_PROFILE
130+ NOARCH_CXXFLAGS += -pg -DLSP_PROFILE
142131endif
143132
144133ifeq ($(TRACE ) ,1)
145- CFLAGS_EXT += -DLSP_TRACE
146- CXXFLAGS_EXT += -DLSP_TRACE
134+ NOARCH_CFLAGS += -DLSP_TRACE
135+ NOARCH_CXXFLAGS += -DLSP_TRACE
147136endif
148137
149138ifeq ($(STRICT ) ,1)
150- CFLAGS_EXT += -Werror
151- CXXFLAGS_EXT += -Werror
139+ NOARCH_CFLAGS += -Werror
140+ NOARCH_CXXFLAGS += -Werror
152141endif
153142
154143ifeq ($(TEST ) ,1)
155- CFLAGS_EXT += -DLSP_TESTING
156- CXXFLAGS_EXT += -DLSP_TESTING
144+ NOARCH_CFLAGS += -DLSP_TESTING
145+ NOARCH_CXXFLAGS += -DLSP_TESTING
157146 EXPORT_SYMBOLS ?= 1
158147else
159148 ifeq ($(ARTIFACT_EXPORT_SYMBOLS),1)
164153endif
165154
166155ifneq ($(EXPORT_SYMBOLS ) ,1)
167- CFLAGS_EXT += -fvisibility=hidden
168- CXXFLAGS_EXT += -fvisibility=hidden
156+ NOARCH_CFLAGS += -fvisibility=hidden
157+ NOARCH_CXXFLAGS += -fvisibility=hidden
169158endif
170159
171160ifneq ($(ARTIFACT_EXPORT_HEADERS ) ,0)
@@ -175,41 +164,43 @@ else
175164endif
176165
177166# Define flags for (cross) build
178- CFLAGS += \
179- $(CFLAGS_EXT ) \
167+ NOARCH_CFLAGS += \
180168 -fdata-sections \
181169 -ffunction-sections \
182170 -fno-asynchronous-unwind-tables \
183171 -pipe \
184172 -Wall
173+ CFLAGS += $(ARCHITECTURE_CFLAGS ) $(NOARCH_CFLAGS )
174+ HOST_CFLAGS += $(HOST_ARCHITECTURE_CFLAGS ) $(NOARCH_CFLAGS )
185175
186176CDEFS += -DLSP_INSTALL_PREFIX=\\\"$(PREFIX ) \\\"
187177
188- CXXFLAGS += \
189- $(CXXFLAGS_EXT ) \
178+ NOARCH_CXXFLAGS += \
190179 -fno-exceptions \
191180 -fno-rtti \
192181 -fdata-sections \
193182 -ffunction-sections \
194183 -fno-asynchronous-unwind-tables \
195184 -pipe \
196185 -Wall
186+ CXXFLAGS += $(ARCHITECTURE_CFLAGS ) $(NOARCH_CXXFLAGS )
187+ HOST_CXXFLAGS += $(HOST_ARCHITECTURE_CFLAGS ) $(NOARCH_CXXFLAGS )
197188
198189CXXDEFS += -DLSP_INSTALL_PREFIX=\\\"$(PREFIX ) \\\"
199190
200191INCLUDE :=
201- LDFLAGS := $(LDFLAGS_EXT ) -r
202- EXE_FLAGS := $(EXE_FLAGS_EXT ) $(FLAG_RELRO ) $(FLAG_GC_SECTIONS )
203- SO_FLAGS := $(SO_FLAGS_EXT ) $(FLAG_RELRO ) $(FLAG_GC_SECTIONS ) -shared $(FLAG_STDLIB ) -fPIC
204192
205- # Define flags for host build
206- HOST_CFLAGS := $(CFLAGS )
207- HOST_CDEFS := $(CDEFS )
208- HOST_CXXFLAGS := $(CXXFLAGS )
209- HOST_CXXDEFS := $(CXXDEFS )
210- HOST_LDFLAGS := $(LDFLAGS )
211- HOST_EXE_FLAGS := $(EXE_FLAGS )
212- HOST_SO_FLAGS := $(SO_FLAGS )
193+ NOARCH_LDFLAGS += -r
194+ LDFLAGS := $(ARCHITECTURE_LDFLAGS ) $(NOARCH_LDFLAGS )
195+ HOST_LDFLAGS := $(HOST_ARCHITECTURE_LDFLAGS ) $(NOARCH_LDFLAGS )
196+
197+ NOARCH_EXE_FLAGS += $(FLAG_RELRO ) -Wl,--gc-sections
198+ EXE_FLAGS := $(ARCHITECTURE_CFLAGS ) $(NOARCH_EXE_FLAGS )
199+ HOST_EXE_FLAGS := $(HOST_ARCHITECTURE_CFLAGS ) $(NOARCH_EXE_FLAGS )
200+
201+ NOARCH_SO_FLAGS += $(FLAG_RELRO ) -Wl,--gc-sections -shared $(FLAG_STDLIB ) -fPIC
202+ SO_FLAGS := $(ARCHITECTURE_CFLAGS ) $(NOARCH_SO_FLAGS )
203+ HOST_SO_FLAGS := $(HOST_ARCHITECTURE_CFLAGS ) $(NOARCH_SO_FLAGS )
213204
214205# The overall list of exported variables
215206TOOL_VARS := \
0 commit comments