51 lines
1.5 KiB
Makefile
51 lines
1.5 KiB
Makefile
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 |