arc-toolchain: update to rc1
[openadk.git] / package / musl / Makefile
blob0e15746951fa4d314a24ef0592057a0bc72d898e
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include $(ADK_TOPDIR)/rules.mk
5 include $(ADK_TOPDIR)/mk/kernel-ver.mk
6 include $(ADK_TOPDIR)/mk/kernel-vars.mk
7 include $(ADK_TOPDIR)/toolchain/musl/Makefile.inc
9 PKG_NAME:= musl
10 PKG_DESCR:= embedded C library
11 PKG_SECTION:= base/libs
12 PKG_OPTS:= noremove nostaging noscripts
14 PKG_SUBPKGS:= MUSL MUSL_DEV
15 PKGSD_MUSL_DEV:= development files for musl
16 PKGSC_MUSL_DEV:= dev/header
18 NO_DISTFILES:= 1
20 include $(ADK_TOPDIR)/mk/package.mk
22 $(eval $(call PKG_template,MUSL,musl,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
23 $(eval $(call PKG_template,MUSL_DEV,musl-dev,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_MUSL_DEV},${PKGSC_MUSL_DEV},${PKG_OPTS}))
25 CONFIG_STYLE:= manual
26 BUILD_STYLE:= manual
27 INSTALL_STYLE:= manual
29 MARCH:= $(ADK_TARGET_CPU_ARCH)
30 ifeq ($(ADK_TARGET_CPU_ARCH),i686)
31 MARCH:= i386
32 endif
33 ifeq ($(ADK_TARGET_CPU_ARCH),i586)
34 MARCH:= i386
35 endif
36 ifeq ($(ADK_TARGET_CPU_ARCH),i486)
37 MARCH:= i386
38 endif
39 ifeq ($(ADK_TARGET_CPU_ARCH),ppc)
40 ifeq ($(ADK_TARGET_SOFT_FLOAT),y)
41 MARCH:= powerpc-sf
42 else
43 MARCH:= powerpc
44 endif
45 endif
46 ifeq ($(ADK_TARGET_CPU_ARCH),ppc64)
47 MARCH:= powerpc64
48 endif
49 ifeq ($(ADK_TARGET_CPU_ARCH),ppc64le)
50 MARCH:= powerpc64le
51 endif
52 ifeq ($(ADK_TARGET_CPU_ARCH),sh4)
53 MARCH:= sh
54 endif
55 ifeq ($(ADK_TARGET_CPU_ARCH),sh4eb)
56 MARCH:= sh
57 endif
58 ifeq ($(ADK_TARGET_ARCH_MIPS),y)
59 ifeq ($(ADK_TARGET_SOFT_FLOAT),y)
60 ifeq ($(ADK_TARGET_LITTLE_ENDIAN),y)
61 MARCH:= mipsel-sf
62 else
63 MARCH:= mips-sf
64 endif
65 endif
66 endif
67 ifeq ($(ADK_TARGET_ARCH_MIPS64),y)
68 ifeq ($(ADK_TARGET_ABI_N32),y)
69 ifeq ($(ADK_TARGET_LITTLE_ENDIAN),y)
70 MARCH:= mipsn32el
71 else
72 MARCH:= mipsn32
73 endif
74 endif
75 endif
76 ifeq ($(ADK_TARGET_ARCH_ARM),y)
77 ifeq ($(ADK_TARGET_ABI),eabihf)
78 MARCH:= armhf
79 endif
80 endif
81 ifeq ($(ADK_TARGET_ABI_X32),y)
82 MARCH:= x32
83 endif
85 # do nothing, musl is already build in toolchain directory
86 do-install:
87 ifneq ($(ADK_TARGET_USE_STATIC_LIBS),y)
88 ${INSTALL_DIR} $(IDIR_MUSL)/bin
89 ${INSTALL_DIR} $(IDIR_MUSL)/$(ADK_TARGET_LIBC_PATH)
90 $(CP) $(STAGING_TARGET_DIR)/usr/lib/libc.so $(IDIR_MUSL)/$(ADK_TARGET_LIBC_PATH)
91 (cd $(IDIR_MUSL)/$(ADK_TARGET_LIBC_PATH) && \
92 ln -sf libc.so ld-musl-$(MARCH).so.1)
93 (cd $(IDIR_MUSL)/bin && \
94 ln -sf ../lib/ld-musl-$(MARCH).so.1 ldd)
95 endif
98 musl-dev-install:
99 ${INSTALL_DIR} ${IDIR_MUSL_DEV}/usr/lib
100 ${CP} ${STAGING_TARGET_DIR}/usr/lib/crt*.o ${IDIR_MUSL_DEV}/usr/lib
101 ${KERNEL_MAKE_ENV} \
102 $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-linux-$(KERNEL_VERSION)/linux-$(KERNEL_FILE_VER) \
103 $(KERNEL_MAKE_OPTS) \
104 INSTALL_HDR_PATH=$(IDIR_MUSL_DEV)/usr \
105 headers_install
106 $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/${PKG_NAME}-${PKG_VERSION} \
107 DESTDIR=$(IDIR_MUSL_DEV) \
108 install-headers
109 @find $(IDIR_MUSL_DEV) -name .install -exec rm {} \;
110 @find $(IDIR_MUSL_DEV) -name ..install.cmd -exec rm {} \;
112 include ${ADK_TOPDIR}/mk/pkg-bottom.mk