Lines Matching +full:gcc +full:- +full:multilib
1 # Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
2 # Copyright (c) 2020-2022 Huawei Device Co., Ltd. All rights reserved.
31 ifneq ($(GCC),)
33 CROSS_COMPILE = $(GCC:%gcc=%)
34 CC = $(GCC) $(ARCH_CFLAGS)
35 MULTILIB = $(patsubst %.,%,$(shell $(CC) -print-multi-directory)) macro
37 TARGET = $(ARCH)-liteos-ohos
39 CROSS_COMPILE = $(CLANG:%clang=%llvm-)
40 CC = $(CLANG) --target=$(TARGET) $(ARCH_CFLAGS)
41 MULTILIB = $(patsubst $(dir $(shell $(filter-out $(ARCH_CFLAGS),$(CC)) -print-libgcc-file-name))%,/… macro
43 MUSLBUILDDIR = build_$(or $(TARGET),$(ARCH))$(subst /,_,$(MULTILIB:%/=%))
46 SED_ARGS = -e '/install-libs:/s/if/and/g'
50 LINUXKERNELDIR = $(TOPDIR)/kernel/linux/linux-5.10
51 OPTRTDIR = $(TOPDIR)/third_party/optimized-routines
55 LINUXDIR = $(TOPDIR)/kernel/linux/linux-4.19
72 ARCH_CFLAGS = -mfloat-abi=softfp -mcpu=cortex-a7 -mfpu=neon-vfpv4
78 CFLAGS = -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wl,--buil…
79 CFLAGS += -Wno-int-conversion
92 $(HIDE) mkdir -p $@
93 $(HIDE) cp -rfu $(MUSLDIR)/[^p]* $@
94 $(HIDE) cp -rfu $(MUSLDIR)/../FreeBSD/sys/sys/queue.h $@/include/sys
98 $(HIDE) cp -rfp $(OPTRTDIR)/string/$(ARCH)/* $</src/string/$(ARCH)/
99 $(HIDE) cp -rfp $(OPTRTDIR)/string/asmdefs.h $</src/string/asmdefs.h
101 $(HIDE) rm -f $</src/string/arm/memcpy.c
102 $(HIDE) rm -f $</src/string/arm/memcpy_le.S
103 $(HIDE) rm -f $</src/string/arm/memset.S
104 $(HIDE) rm -f $</src/string/arm/strcpy.c
108 -D__strlen_armv6t2=strlen \
109 -D__strcpy_arm=strcpy \
110 -D__strcmp_arm=strcmp \
111 -D__memcpy_arm=memcpy \
112 -D__memchr_arm=memchr
121 $(HIDE) make -sj headers_install ARCH=$(ARCH) O=$(shell pwd)/$@ -C $(LINUXKERNELDIR)
122 $(HIDE) install -p -m 644 -D $@/usr/include/linux/capability.h $</include/linux/capability.h
130 mv -f arch/arm/bits/liteos_a/* arch/arm/bits/ && \
131 mv -f src/linux/liteos_a/* src/linux/ && \
132 mv -f src/misc/liteos_a/* src/misc/ && \
133 mv -f src/signal/liteos_a/* src/signal/ && \
134 mv -f src/signal/arm/liteos_a/* src/signal/arm/ && \
135 mv -f src/stdlib/liteos_a/* src/stdlib/ && \
136 mv -f src/string/arm/liteos_a/* src/string/arm/ && \
137 mv -f src/thread/liteos_a/* src/thread/ && \
138 mv -f src/unistd/liteos_a/* src/unistd/ && \
139 mv -f src/network/liteos_a/* src/network/ && \
145 mv -f include/liteos_a/user_debug/* include/ && \
146 mv -f src/malloc/liteos_a/user_debug/* src/malloc/ && \
150 ifeq ($(GCC),)
151 …_install_for_liteos_a_user: LDFLAGS = $(shell $(CC) -print-file-name=libunwind.a) -Wl,--no-depende…
152 musl_install_for_liteos_a_user: SED_ARGS += -e 's,$$(AR) rc $$@ $$(AOBJS)$$,cp $$(shell $$(CC) -pri…
154 …install_for_liteos_a_user: SED_ARGS += -e 's,CFLAGS_ALL += -DCRT$$,& -fno-unwind-tables -fno-async…
155 …iteos_a_user: CFLAGS += -funwind-tables -fasynchronous-unwind-tables -rdynamic -D__LITEOS_DEBUG__ …
159 musl_install_for_liteos_a_user: CFLAGS += -D__LITEOS_A__ -DFEATURE_PTHREAD_CANCEL
162 $(HIDE) cd musl_copy_for_liteos_a_user && mkdir -p $(MUSLBUILDDIR) && cd $(MUSLBUILDDIR) && \
163 ../configure --prefix=$(SYSROOTDIR)/usr --target=$(TARGET) \
164 --includedir=$(SYSROOTDIR)/usr/include/$(TARGET) \
165 --libdir=$(SYSROOTDIR)/usr/lib/$(TARGET)/$(MULTILIB) \
166 --with-malloc=oldmalloc \
169 sed $(SED_ARGS) Makefile | make -sj install-headers
172 $(HIDE) cd musl_copy_for_liteos_a_user && mkdir -p $(MUSLBUILDDIR) && cd $(MUSLBUILDDIR) && \
173 ../configure --prefix=$(SYSROOTDIR)/usr --target=$(TARGET) \
174 --includedir=$(SYSROOTDIR)/usr/include/$(TARGET) \
175 --libdir=$(SYSROOTDIR)/usr/lib/$(TARGET)/$(MULTILIB) \
176 --with-malloc=oldmalloc \
179 sed $(SED_ARGS) Makefile | make -f- -sj install
184 $(HIDE) make -sj headers_install ARCH=$(ARCH) O=$(shell pwd)/$@ -C $(LINUXDIR)
189 $(HIDE) cp -rfp $(MUSLDIR)/scripts/linux/* $</ && \
191 mv -f crt/linux/* crt/ && \
192 mv -f include/fortify/linux/* include/fortify/ && \
193 mv -f include/info/linux/* include/info/ && \
194 mv -f include/linux/* include/ && \
195 mv -f include/sys/linux/* include/sys/ && \
196 mv -f include/trace/linux/* include/trace/ && \
197 mv -f ldso/linux/* ldso/ && \
198 mv -f src/exit/linux/* src/exit/ && \
199 mv -f src/fortify/linux/* src/fortify/ && \
200 mv -f src/gwp_asan/linux/* src/gwp_asan/ && \
201 mv -f src/hilog/linux/* src/hilog/ && \
202 mv -f src/hook/linux/* src/hook/ && \
203 mv -f src/info/linux/* src/info/ && \
204 mv -f src/internal/linux/* src/internal/ && \
205 mv -f src/ldso/aarch64/linux/* src/ldso/aarch64/ && \
206 mv -f src/ldso/arm/linux/* src/ldso/arm/ && \
207 mv -f src/ldso/riscv64/linux/* src/ldso/riscv64/ && \
208 mv -f src/ldso/x86_64/linux/* src/ldso/x86_64/ && \
209 mv -f src/linux/aarch64/linux/* src/linux/aarch64/ && \
210 mv -f src/linux/arm/linux/* src/linux/arm/ && \
211 mv -f src/linux/linux/* src/linux/ && \
212 mv -f src/linux/x86_64/linux/* src/linux/x86_64/ && \
213 mv -f src/malloc/jemalloc/linux/* src/malloc/jemalloc/ && \
214 mv -f src/malloc/linux/* src/malloc/ && \
215 mv -f src/misc/aarch64/linux/* src/misc/aarch64/ && \
216 mv -f src/sigchain/linux/* src/sigchain/ && \
217 mv -f src/trace/linux/* src/trace/ && \
218 mv -f src/network/linux/* src/network/ && \
219 mv -f src/signal/linux/* src/signal/ && \
220 mv -f src/thread/linux/* src/thread/ && \
221 mv -f src/fdsan/linux/* src/fdsan/ && \
224 LIBCXXDIR = $(TOPDIR)/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/15.0.4/include
225 …usl_install_for_linux_user: LDFLAGS = $(shell $(CC) -print-file-name=libunwind.a) -Wl,--no-depende…
226 musl_install_for_linux_user: SED_ARGS += -e 's,$$(AR) rc $$@ $$(AOBJS)$$,cp $$(shell $$(CC) -print-…
227 …_user: CFLAGS += -fno-omit-frame-pointer -funwind-tables -fasynchronous-unwind-tables -rdynamic -D…
228 ifeq ($(GCC),)
229 musl_install_for_linux_user: TARGET = $(ARCH)-linux-ohos
232 $(HIDE) cd musl_copy_for_linux_user && mkdir -p $(MUSLBUILDDIR) && cd $(MUSLBUILDDIR) && \
233 ../configure --prefix=$(SYSROOTDIR)/usr --target=$(TARGET) \
234 --includedir=$(SYSROOTDIR)/usr/include/$(TARGET) \
235 --libdir=$(SYSROOTDIR)/usr/lib/$(TARGET)/$(MULTILIB) \
236 --with-malloc=oldmalloc \
239 sed $(SED_ARGS) Makefile | make -f- -sj install
240 $(HIDE) cp -rfp $(LINUXHDRDIR)/* $(SYSROOTDIR)/usr/include/$(TARGET)
241 …$(HIDE) if [ -d $(LINUXHDRDIR)/asm-$(ARCH)/asm ]; then ln -snf asm-$(ARCH)/asm $(SYSROOTDIR)/usr/i…
243 …$(HIDE) if [ -d $(LINUXHDRDIR)/asm-arm64/asm ]; then ln -snf asm-arm64/asm $(SYSROOTDIR)/usr/inclu…
247 $(HIDE) rm -rf musl_copy_for_* linux_header_install_for_*
250 $(HIDE) rm -rf $(SYSROOTDIR)/lib $(SYSROOTDIR)/usr