# $FreeWRT$
#-
# This file is part of the FreeWRT project. FreeWRT is copyrighted
# material, please see the LICENCE file in the top-level directory
# or at http://www.freewrt.org/licence for details.

include $(TOPDIR)/rules.mk

PKG_NAME:=		busybox
PKG_RELEASE:=		9
PKG_VERSION:=		1.1.3
PKG_MD5SUM:=		19a0b475169335f17e421cf644616fe7
PKG_INIT:=		60

PKG_SOURCE:=		$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=	http://www.busybox.net/downloads

include $(TOPDIR)/mk/package.mk

$(eval $(call PKG_template,BUSYBOX,$(PKG_NAME),$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))

$(WRKBUILD)/.configured:
	$(CP) files/ipkg/*.c $(WRKBUILD)/archival
	$(CP) files/ipkg/libipkg $(WRKBUILD)/archival
	$(SCRIPT_DIR)/gen_busybox_config.pl $(TOPDIR)/.config > $(WRKBUILD)/.config
	yes '' | $(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" -C $(WRKBUILD) oldconfig
	touch $@

$(WRKBUILD)/.built:
	$(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" PREFIX="$(IDIR_BUSYBOX)" \
		EXTRA_CFLAGS="$(TARGET_CFLAGS)" ARCH="$(ARCH)" -C $(WRKBUILD)
	touch $@

$(IPKG_BUSYBOX):
	$(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" PREFIX="$(IDIR_BUSYBOX)" \
		EXTRA_CFLAGS="$(TARGET_CFLAGS)" -C $(WRKBUILD) install
	$(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/init.d/
	$(INSTALL_BIN) ./files/syslog.init \
		$(IDIR_BUSYBOX)/etc/init.d/S05syslog
	$(INSTALL_BIN) ./files/network.init \
		$(IDIR_BUSYBOX)/etc/init.d/S40network
	$(INSTALL_BIN) ./files/crond.init \
		$(IDIR_BUSYBOX)/etc/init.d/S$(PKG_INIT)crond
	$(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/network
	$(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/network/if-pre-up.d
	$(INSTALL_BIN) ./files/vlan.pre-up \
		$(IDIR_BUSYBOX)/etc/network/if-pre-up.d/01-vlan
	$(INSTALL_BIN) ./files/watchdog.if-pre-up \
		$(IDIR_BUSYBOX)/etc/network/if-pre-up.d/00-watchdog
	$(INSTALL_BIN) ./files/bridge.pre-up \
		$(IDIR_BUSYBOX)/etc/network/if-pre-up.d/03-bridge
	$(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/network/if-up.d
	$(INSTALL_BIN) ./files/bridge.up \
		$(IDIR_BUSYBOX)/etc/network/if-up.d/02-bridge
	$(INSTALL_BIN) ./files/hso.if-up \
		$(IDIR_BUSYBOX)/etc/network/if-up.d/03-hso
	$(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/network/if-down.d
	$(INSTALL_BIN) ./files/watchdog.if-down \
		$(IDIR_BUSYBOX)/etc/network/if-down.d/02-watchdog
	$(INSTALL_BIN) ./files/hso.if-down \
		$(IDIR_BUSYBOX)/etc/network/if-down.d/03-hso
	$(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/network/if-post-down.d
	$(INSTALL_DIR) $(IDIR_BUSYBOX)/sbin
	$(INSTALL_BIN) ./files/if-watchdog \
		$(IDIR_BUSYBOX)/sbin/if-watchdog
ifneq ($(strip ${BUSYBOX_CONFIG_HALT}),)
ifneq ($(strip ${BUSYBOX_CONFIG_FEATURE_FWCF_REBOOT}),)
	cd ${IDIR_BUSYBOX}/sbin && rm -f halt poweroff reboot
endif
endif
	$(RSTRIP) $(IDIR_BUSYBOX)
	$(IPKG_BUILD) $(IDIR_BUSYBOX) $(PACKAGE_DIR)
