gigaset_elements_bl26_opens.../src/target.hw.mk

149 lines
4.2 KiB
Makefile

include config.mk
##############################
# Build configuration for HW #
##############################
ifeq ($(BUILD),hw)
mrproper:
make clean
rm -rf $(OUT_BAS_DIR)
rm -rf $(OUT_BAS_DIR)_fwupgrade
rm -rf $(OUT_BAS_DIR)_winhost
rm -rf $(OUT)
rm -rf $(OUT_COMMON)
rm -rf $(DOXYGEN_DIR)
rm -rf $(ROOTFS)
rm -rf $(TMP_ROOTFS)
rm -rf $(DATAFS)
dirs:
mkdir -p $(OUT)
# mkdir -p $(OUT_BAS_DIR)
# mkdir -p $(OUT_BAS_DIR)/hw
mkdir -p $(DOXYGEN_DIR)
mkdir -p $(DOXYGEN_DIR)/images
mkdir -p $(ROOTFS)
mkdir -p $(TMP_ROOTFS)
mkdir -p $(GDB_DIR)
mkdir -p $(ROOTFS)/proc
mkdir -p $(ROOTFS)/sys
mkdir -p $(ROOTFS)/mnt/ramfs
mkdir -p $(ROOTFS)/usr/bin
mkdir -p $(ROOTFS)/bin
mkdir -p $(ROOTFS)/lib
mkdir -p $(DATAFS)
cp -R $(INIT_DATAFS)/* $(DATAFS)
rootfs:
mkdir -p $(ROOTFS)/mnt/data
mkdir -p $(ROOTFS)/var
mkdir -p $(ROOTFS)/tmp
mkdir -p $(ROOTFS)/etc/network/if-pre-up.d
mkdir -p $(ROOTFS)/etc/network/if-up.d
mkdir -p $(ROOTFS)/etc/network/if-down.d
mkdir -p $(ROOTFS)/etc/network/if-post-down.d
cp -R $(INIT_ROOTFS)/* $(ROOTFS)
# Initial date
configure:
cd $(TOP)/../tools && ./update_libc.sh
cp -f $(TOP)/opensource/busybox/.config-hw $(TOP)/opensource/busybox/.config
cp -f $(TOP)/opensource/linux/.config-hw $(TOP)/opensource/linux/.config
make OPENSOURCE=dmalloc configure
make OPENSOURCE=dmalloc install # needed by openssl install
make OPENSOURCE=linux configure
make OPENSOURCE=json-c configure
make OPENSOURCE=busybox configure
make OPENSOURCE=openssl configure
make OPENSOURCE=openssl install
make OPENSOURCE=curl configure
clean:
make DIALOG=uart clean
make DIALOG=cr16boot clean
make DIALOG=loader clean
make OPENSOURCE=dmalloc clean
make OPENSOURCE=linux clean
make OPENSOURCE=busybox clean
make OPENSOURCE=openssl clean
make OPENSOURCE=curl clean
make OPENSOURCE=json-c clean
make OPENSOURCE=u-boot-env-tools clean
rm -rf $(OUT)
# rm -rf $(DOXYGEN_DIR)
# rm -rf $(DOXYGEN_DIR)/images
rm -rf $(ROOTFS)
rm -rf $(DATAFS)
rm -rf $(TMP_ROOTFS)
rm -rf $(GDB_DIR)
make dirs
all: rootfs
make OPENSOURCE=dmalloc install
make OPENSOURCE=busybox install
make OPENSOURCE=openssl install
make OPENSOURCE=curl install
make OPENSOURCE=json-c install
make OPENSOURCE=certs install
make DIALOG=loader install
make DIALOG=cr16boot install
make DIALOG=uart install
make OPENSOURCE=u-boot-env-tools install # depends on cr16boot
make OPENSOURCE=linux vmlinux
make OPENSOURCE=linux modules
make OPENSOURCE=linux modules_install
# make OPENSOURCE=linux move_modules_to_jffs
ifdef TFTP_DIR
cp $(OUT_BUILD)/opensource/linux/vmlinuz ${TFTP_DIR}
endif
make prepare_for_baseline
kernel:
make OPENSOURCE=linux vmlinux
make OPENSOURCE=linux modules
make OPENSOURCE=linux modules_install
ifdef TFTP_DIR
cp $(OUT_BUILD)/opensource/linux/vmlinuz ${TFTP_DIR}
endif
program:
@if [ ! -e $(OUT_BAS_DIR)/uniprog/uniprog.sh ]; then \
echo "\n\nPlease 'make all' first\n\n"; \
exit 1; \
fi;
cd $(OUT_BAS_DIR)/uniprog && \
./uniprog.sh
start_shell:
bash
prepare_for_baseline:
mkdir -p $(OUT_BAS_DIR)/$(BUILD)/gdb
cp -rf $(GDB_DIR) $(OUT_BAS_DIR)/$(BUILD)
find $(OUT)/ -name "*.gdb" -exec cp {} $(OUT_BAS_DIR)/$(BUILD)/gdb \;
find ./opensource/u-boot-env-tools -name "*.gdb" -exec cp {} $(OUT_BAS_DIR)/$(BUILD)/gdb \;
find ./opensource/busybox -name "*.gdb" -exec cp {} $(OUT_BAS_DIR)/$(BUILD)/gdb \;
find $(TOP)/../tools/cr16-tools/cr16-uclinux/runtime/usr/lib -name "*.gdb" -exec cp {} $(OUT_BAS_DIR)/$(BUILD)/gdb \;
cp -f $(TOP)/opensource/linux/vmlinux $(OUT_BAS_DIR)/$(BUILD)/gdb
cp -f $(OUT_BUILD)/opensource/linux/vmlinuz $(OUT_BAS_DIR)/reef_vmlinuz
cd $(OUT_BAS_DIR) && sha256sum reef_vmlinuz > $(OUT_BAS_DIR)/reef_vmlinuz.sum
@if [ ! -e $(OUT_BAS_DIR)/vmlinuz-recovery ]; then \
if [ -e $(OUT_COMMON)/hw_recovery/opensource/linux/vmlinuz ]; then \
cp -f $(OUT_COMMON)/hw_recovery/opensource/linux/vmlinuz $(OUT_BAS_DIR)/reef_vmlinuz-recovery &>/dev/zero || true; \
fi \
fi
cp -rf $(TMP_ROOTFS)/include $(OUT_BAS_DIR)/$(BUILD)
cp -rf $(OUT_COMMON)/uniprog $(OUT_BAS_DIR)
cp -rf ../tools/mtd-utils $(OUT_BAS_DIR)
.PHONY: dirs mrproper baseline configure clean doxygen prepare_for_baseline baseline_tag
endif # HW configuration