CROSS_COMPILE_PREFIX ?= $(CONFIG_XMEDIA_USR_ARM_TOOLCHAINS) CC := $(CROSS_COMPILE_PREFIX)-gcc CROSS_STRIP := $(CROSS_COMPILE_PREFIX)-strip UBOOT_ENV_TOOL := fw_printenv UBOOTENV_BUILD := $(ROOTFS_BUILDDIR)/uboot_env UBOOTENV_INCDIR := $(ROOTFS_SRCDIR)/uboot_env/include UBOOTENV_SRCDIR := $(ROOTFS_SRCDIR)/uboot_env/source UBOOTENV_SRC_OBJ_DIR := $(ROOTFS_SRCDIR)/uboot_env CFLAGS := -Wall -O2 -I$(UBOOTENV_INCDIR) SRCS := \ $(UBOOTENV_SRCDIR)/crc32.c \ $(UBOOTENV_SRCDIR)/fw_env.c \ $(UBOOTENV_SRCDIR)/fw_env_main.c OBJS := $(patsubst $(UBOOTENV_SRCDIR)/%.c, $(UBOOTENV_BUILD)/%.o, $(SRCS)) rootfs_unstrip: $(ROOTFS_PREFIX)/bin/$(UBOOT_ENV_TOOL) $(ROOTFS_PREFIX)/bin/$(UBOOT_ENV_TOOL): $(UBOOTENV_BUILD)/.built @mkdir -p $(@D) cp -f $(UBOOTENV_BUILD)/$(UBOOT_ENV_TOOL) $(ROOTFS_PREFIX)/bin/ cd $(@D) && ln -sf $(UBOOT_ENV_TOOL) fw_setenv touch $@ $(UBOOTENV_BUILD)/.built: $(OBJS) uboot_env_prepare $(CC) $(OBJS) -o $(UBOOTENV_BUILD)/$(UBOOT_ENV_TOOL) $(CROSS_STRIP) $(UBOOTENV_BUILD)/$(UBOOT_ENV_TOOL) @echo "Link and strip $(UBOOT_ENV_TOOL) to $(UBOOTENV_BUILD)" touch $@ uboot_env_prepare: mkdir -p $(UBOOTENV_BUILD) >/dev/null 2>&1 if [ -e $(UBOOTENV_SRC_OBJ_DIR)/*.o ]; then \ cp -af $(UBOOTENV_SRC_OBJ_DIR)/*.o $(UBOOTENV_BUILD)/; \ fi @echo "Prepare uboot_env build dir: $(UBOOTENV_BUILD)" $(UBOOTENV_BUILD)/%.o: $(UBOOTENV_SRCDIR)/%.c @mkdir -p $(@D) $(CC) $(CFLAGS) -c $< -o $@ @echo "Compiled: $< -> $@" .PHONY: rootfs_unstrip uboot_env_prepare