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
/uclibc
/Makefile.inc
10 PKG_DESCR
:= embedded c library
11 PKG_SECTION
:= base
/libs
12 PKG_OPTS
:= noremove nostaging noscripts
14 PKG_SUBPKGS
:= UCLIBC UCLIBC_DEV UCLIBC_TEST
15 PKGSD_UCLIBC_DEV
:= development files for uclibc
16 PKGSC_UCLIBC_DEV
:= devel
17 PKGSD_UCLIBC_TEST
:= test suite for uclibc
18 PKGSS_UCLIBC_TEST
:= make
22 include $(ADK_TOPDIR
)/mk
/package.mk
24 $(eval
$(call PKG_template
,UCLIBC
,uclibc
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
25 $(eval
$(call PKG_template
,UCLIBC_DEV
,uclibc-dev
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_UCLIBC_DEV},${PKGSC_UCLIBC_DEV},${PKG_OPTS}))
26 $(eval
$(call PKG_template
,UCLIBC_TEST
,uclibc-test
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_UCLIBC_TEST},${PKGSC_UCLIBC_TEST},${PKG_OPTS}))
30 INSTALL_STYLE
:= manual
33 ${INSTALL_DIR} $(IDIR_UCLIBC
)/$(ADK_TARGET_LIBC_PATH
) $(IDIR_UCLIBC
)/etc
34 test -z
$(ADK_RUNTIME_TIMEZONE
) || \
35 grep
$(ADK_RUNTIME_TIMEZONE
) .
/files
/tz.lst | \
36 cut
-f
2 > $(IDIR_UCLIBC
)/etc
/TZ
37 ifneq ($(ADK_TARGET_USE_STATIC_LIBS
)$(ADK_TARGET_UCLINUX
),y
)
38 $(CP
) $(STAGING_TARGET_DIR
)/lib
/libc.so.
* $(IDIR_UCLIBC
)/$(ADK_TARGET_LIBC_PATH
)
39 $(CP
) $(STAGING_TARGET_DIR
)/lib
/libuClibc-
$(PKG_VERSION
).so \
40 $(IDIR_UCLIBC
)/$(ADK_TARGET_LIBC_PATH
)
41 $(CP
) $(STAGING_TARGET_DIR
)/lib
/ld*-uClibc-
$(PKG_VERSION
).so \
42 $(IDIR_UCLIBC
)/$(ADK_TARGET_LIBC_PATH
)
43 $(CP
) $(STAGING_TARGET_DIR
)/lib
/ld*-uClibc.so.
* $(IDIR_UCLIBC
)/$(ADK_TARGET_LIBC_PATH
)
44 -for file in libcrypt libdl libm libresolv libutil
; do \
45 $(CP
) $(STAGING_TARGET_DIR
)/lib
/$$file.so
* $(IDIR_UCLIBC
)/$(ADK_TARGET_LIBC_PATH
); \
46 $(CP
) $(STAGING_TARGET_DIR
)/lib
/$$file-$(PKG_VERSION
).so \
47 $(IDIR_UCLIBC
)/$(ADK_TARGET_LIBC_PATH
); \
52 ${INSTALL_DIR} ${IDIR_UCLIBC_DEV}/usr
/lib
${IDIR_UCLIBC_DEV}/$(ADK_TARGET_LIBC_PATH
)
53 ${CP} ${STAGING_TARGET_DIR}/usr
/lib
/libc.so
${IDIR_UCLIBC_DEV}/usr
/lib
54 ${CP} ${STAGING_TARGET_DIR}/usr
/lib
/uclibc_nonshared.a
${IDIR_UCLIBC_DEV}/usr
/lib
55 ${CP} ${STAGING_TARGET_DIR}/usr
/lib
/crt
*.o
${IDIR_UCLIBC_DEV}/usr
/lib
56 for file in libcrypt libdl libm libresolv libutil
; do \
57 cd
$(IDIR_UCLIBC_DEV
)/$(ADK_TARGET_LIBC_PATH
); ln
-sf
$$file-$(PKG_VERSION
).so
$$file.so
; \
60 $(MAKE
) -C
$(TOOLCHAIN_BUILD_DIR
)/w-linux-
$(KERNEL_VERSION
)-$(KERNEL_RELEASE
)/linux-
$(KERNEL_VERSION
) \
62 INSTALL_HDR_PATH
=$(IDIR_UCLIBC_DEV
)/usr \
64 $(MAKE
) -C
$(TOOLCHAIN_BUILD_DIR
)/w-
$(PKG_NAME
)-$(PKG_VERSION
)-$(PKG_RELEASE
)/${PKG_NAME}-${PKG_VERSION} \
65 PREFIX
=$(IDIR_UCLIBC_DEV
)/ \
67 RUNTIME_PREFIX
=$(IDIR_UCLIBC_DEV
)/ \
68 HOSTCC
="$(CC_FOR_BUILD)" \
69 CPU_CFLAGS
="$(TARGET_CFLAGS)" \
71 @find
$(IDIR_UCLIBC_DEV
) -name .
install -exec
rm {} \
;
72 @find
$(IDIR_UCLIBC_DEV
) -name ..
install.cmd
-exec
rm {} \
;
75 ${INSTALL_DIR} ${IDIR_UCLIBC_TEST}/etc
76 echo
'00:11:22:33:44:55 teeth' > ${IDIR_UCLIBC_TEST}/etc
/ethers
77 ${INSTALL_DIR} ${IDIR_UCLIBC_TEST}/opt
/uclibc
78 ${CP} $(TOOLCHAIN_BUILD_DIR
)/w-
$(PKG_NAME
)-$(PKG_VERSION
)-$(PKG_RELEASE
)/${PKG_NAME}-${PKG_VERSION}/test \
79 ${IDIR_UCLIBC_TEST}/opt
/uclibc
80 ${CP} $(TOOLCHAIN_BUILD_DIR
)/w-
$(PKG_NAME
)-$(PKG_VERSION
)-$(PKG_RELEASE
)/${PKG_NAME}-${PKG_VERSION}/{Rules.mak
,.config
} \
81 ${IDIR_UCLIBC_TEST}/opt
/uclibc
82 @find
${IDIR_UCLIBC_TEST}/opt
/uclibc
-name \
*.o
-exec
rm {} \
;
83 # there is a problem with initramfs generation with the API dir. tests are disabled anyway.
84 rm -rf
${IDIR_UCLIBC_TEST}/opt
/uclibc
/API
86 include ${ADK_TOPDIR}/mk
/pkg-bottom.mk