busybox: fix blocking ntpd when DNS isn't available
[openadk.git] / package / busybox / Makefile
blob76e575848a043e7e08ecc721c6cc412bcc01842a
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
6 PKG_NAME:= busybox
7 PKG_VERSION:= 1.25.0
8 PKG_RELEASE:= 3
9 PKG_HASH:= 5a0fe06885ee1b805fb459ab6aaa023fe4f2eccee4fb8c0fd9a6c17c0daca2fc
10 PKG_DESCR:= core utilities for embedded systems
11 PKG_SECTION:= base/apps
12 PKG_URL:= http://www.busybox.net/
13 PKG_SITES:= https://www.busybox.net/downloads/
15 DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
17 include $(ADK_TOPDIR)/mk/package.mk
19 $(eval $(call PKG_template,BUSYBOX,busybox,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
21 # disable lto
22 TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
24 CONFIG_STYLE:= manual
25 BUILD_STYLE:= manual
26 INSTALL_STYLE:= manual
28 BB_MAKE_FLAGS:= V=1 \
29 ARCH="${ADK_TARGET_ARCH}" \
30 IPKG_ARCH="${ADK_TARGET_CPU_ARCH}" \
31 HOSTCC="${CC_FOR_BUILD}" \
32 HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" \
33 CROSS_COMPILE="$(TARGET_CROSS)" \
34 SKIP_STRIP=y
36 do-configure:
37 # get all symbols from top level config
38 grep "^BUSYBOX_\|# BUSYBOX" $(ADK_TOPDIR)/.config|grep -v BUSYBOX_DISABLE|sed -e 's/BUSYBOX_/CONFIG_/' > \
39 ${WRKBUILD}/.config
40 # convert all disabled symbols
41 for i in $$(grep ^BUSYBOX_DISABLE $(ADK_TOPDIR)/.config);do \
42 sym=$${i#BUSYBOX_DISABLE_}; \
43 symbol=$$(echo $$sym|sed -e "s#=y##"); \
44 case $$symbol in \
45 KMOD) \
46 printf "# CONFIG_MODINFO is not set\n" >> ${WRKBUILD}/.config; \
47 printf "# CONFIG_MODPROBE_SMALL is not set\n" >> ${WRKBUILD}/.config; \
48 printf "# CONFIG_INSMOD is not set\n" >> ${WRKBUILD}/.config; \
49 printf "# CONFIG_RMMOD is not set\n" >> ${WRKBUILD}/.config; \
50 printf "# CONFIG_LSMOD is not set\n" >> ${WRKBUILD}/.config; \
51 printf "# CONFIG_MODPROBE is not set\n" >> ${WRKBUILD}/.config; \
52 printf "# CONFIG_DEPMOD is not set\n" >> ${WRKBUILD}/.config; \
53 ;; \
54 *) \
55 printf "# CONFIG_$${symbol} is not set\n" >> ${WRKBUILD}/.config; \
56 ;; \
57 esac \
58 done
59 $(SED) 's;@IDIR@;${WRKINST};' ${WRKBUILD}/.config
61 do-build:
62 PATH='$(HOST_PATH)' $(MAKE) ${BB_MAKE_FLAGS} -C ${WRKBUILD} busybox
64 do-install:
65 PATH='$(HOST_PATH)' $(MAKE) ${BB_MAKE_FLAGS} -C ${WRKBUILD} install $(MAKE_TRACE)
66 $(CP) $(WRKINST)/* $(IDIR_BUSYBOX)/
67 ifeq ($(BUSYBOX_IFUPDOWN),y)
68 $(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/init.d
69 ifeq ($(ADK_RUNTIME_WAIT_FOR_ETHERNET),y)
70 $(INSTALL_BIN) ./files/network.wait $(IDIR_BUSYBOX)/etc/init.d/network
71 else
72 $(INSTALL_BIN) ./files/network $(IDIR_BUSYBOX)/etc/init.d/network
73 endif
74 endif
75 ifeq ($(ADK_DEBUG),y)
76 ${INSTALL_BIN} $(WRKBUILD)/busybox_unstripped \
77 $(IDIR_BUSYBOX)/bin/busybox
78 endif
79 ifneq ($(strip ${ADK_PACKAGE_CFGFS}),)
80 cd ${IDIR_BUSYBOX}/sbin && rm -f halt poweroff reboot
81 endif
83 include ${ADK_TOPDIR}/mk/pkg-bottom.mk