#
#

BR2_EXTERNAL ?= $(BR_PROJECT)/../../bsp/buildroot_external/

BR_ENV =  BR2_EXTERNAL=$(BR2_EXTERNAL) O=$(BR_STAGING)/buildroot/ WORKSPACE_DIR=$(BR_STAGING)
BR_ENV += BUILDS_ROOT=$(BR_LOCAL_BUILDS_ROOT) BOARD=$(BR_BOARD) PROJECT=$(BR_PROJECT)
BR_ENV += BR2_DEFCONFIG=$(BR_PROJECT)/configs/buildroot_defconfig BR2_DEFCONFIG_FROM_ENV=1

buildroot.menuconfig: buildroot.config
	$(MAKE) $(BR_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ menuconfig
	@echo "Saving defconfig (Waiting) ...."
	$(MAKE) $(BR_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ savedefconfig
	@echo "Saving defconfig done."

buildroot: buildroot.config
	$(MAKE) $(BR_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ $(BR_TARGET)

buildroot.shell: buildroot.config
	$(MAKE) $(BR_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ dirs outputmakefile
	$(eval export $(BR_ENV))
	cd $(BR_STAGING)/buildroot/; $(BR_ENV) bash

buildroot.config: $(BR_STAGING)/buildroot/.config

$(BR_STAGING)/buildroot/.config: $(BR_PROJECT)/configs/buildroot_defconfig
	@mkdir -p $(BR_STAGING)/buildroot/
	@cp $(BR_PROJECT)/configs/buildroot_defconfig $(BR_STAGING)/buildroot/.config
	$(MAKE) $(BR_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ defconfig

# should be deprecated.
buildroot.menuconfig.old: buildroot.config.old
	$(MAKE) $(BR_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ menuconfig
	cmp -s $(BR_STAGING)/buildroot/.config $(BR_PROJECT)/configs/buildroot.config; \
	if test $$? -ne 0; then echo "Config Files has changed......"; \
		cp $(BR_STAGING)/buildroot/.config $(BR_PROJECT)/configs/buildroot.config; \
	fi

buildroot.config.old:
	@mkdir -p $(BR_STAGING)/buildroot/
ifeq ("$(wildcard $(BR_STAGING)/buildroot/.config)","")
	@cp $(BR_PROJECT)/configs/buildroot.config $(BR_STAGING)/buildroot/.config
else
	cmp -s $(BR_PROJECT)/configs/buildroot.config $(BR_STAGING)/buildroot/.config; \
	if test $$? -ne 0; then echo "Config Files has changed......"; \
		cp $(BR_PROJECT)/configs/buildroot.config $(BR_STAGING)/buildroot/.config; \
	fi
endif

install.sd:
	sudo dd if=$(BR_STAGING)/buildroot/images/sdcard.img of=/dev/mmcblk0 && sync && sync
