93 lines
2.1 KiB
Makefile
93 lines
2.1 KiB
Makefile
.PHONY: sdcard images clean
|
|
|
|
A=./artifacts
|
|
C=./config
|
|
R=./resources
|
|
S=./scripts
|
|
|
|
#############################################################################
|
|
# Tunable parameters are in this section
|
|
FACTORY_IMAGE?=factory.img
|
|
SD_SIZE?=4G
|
|
RESOURCES_SIZE?=8M
|
|
ROOTFS_SIZE?=2G
|
|
DATA_SIZE?=512M
|
|
#############################################################################
|
|
|
|
SPL=$(A)/spl.img
|
|
UBOOT=$(A)/u-boot.img
|
|
ENV=$(A)/env.img
|
|
RESOURCES=$(A)/boot-resources.img
|
|
BOOT=$(A)/boot.img
|
|
BOOTCFG=$(A)/bootimg.cfg
|
|
KERNEL=$(A)/zImage
|
|
INITRD=$(A)/initramfs
|
|
FIRMWARE_TAR=$(A)/firmware.tar
|
|
MODULES_TAR=$(A)/modules.tar
|
|
ROOTFS_TAR=$(A)/rootfs.tar
|
|
CORES_TAR=$(A)/cores.tar
|
|
ESDE_TAR=$(A)/esde.tar
|
|
CONFIG_TAR=$(A)/config.tar
|
|
ROOTFS=$(A)/rootfs.img
|
|
DATA=$(A)/data.img
|
|
IMAGES=$(SPL) $(UBOOT) $(ENV) $(RESOURCES) $(BOOT) $(ROOTFS) $(DATA)
|
|
SD=$(A)/alarm-h700.img
|
|
|
|
sdcard: $(SD)
|
|
|
|
images: $(IMAGES)
|
|
|
|
$(SD): $(IMAGES)
|
|
$(RM) $@
|
|
truncate -s $(SD_SIZE) $@
|
|
$(S)/mkpart.sh $@ $^
|
|
|
|
$(SPL) $(UBOOT): $(FACTORY_IMAGE)
|
|
$(S)/extract-blobs.py $^ -o $(A)
|
|
|
|
$(ENV): env.txt
|
|
$(S)/mkenv.py $^ $@
|
|
|
|
$(BOOT): $(BOOTCFG) $(KERNEL) $(INITRD)
|
|
abootimg --create $@ -f $(BOOTCFG) -k $(KERNEL) -r $(INITRD)
|
|
|
|
$(KERNEL) $(BOOTCFG): $(FACTORY_IMAGE)
|
|
$(S)/extract-kernel.sh $^ $(A)
|
|
|
|
$(INITRD):
|
|
$(S)/mkinitrd.sh
|
|
|
|
$(RESOURCES): $(shell find $(R) -type f -print0 | xargs -0)
|
|
$(RM) $@
|
|
truncate -s $(RESOURCES_SIZE) $@
|
|
$(S)/mkfsimage.sh $@ 0 vfat resources $(R)
|
|
|
|
$(ROOTFS_TAR):
|
|
$(S)/build-alarm-rootfs.sh $(A)
|
|
|
|
$(CORES_TAR):
|
|
$(S)/install-cores.sh $(A)
|
|
|
|
$(ESDE_TAR):
|
|
$(S)/install-esde.sh $(A)
|
|
|
|
$(FIRMWARE_TAR) $(MODULES_TAR): $(FACTORY_IMAGE)
|
|
$(S)/extract-modules.sh $< $(A)
|
|
|
|
$(CONFIG_TAR): $(shell find $(C) -type f -print0 | xargs -0)
|
|
date --utc "+%Y-%m-%dT%H:%M:%SZ" >$(C)/.build
|
|
fakeroot -- tar cf $@ --exclude .gitkeep -C $(C) .
|
|
|
|
$(ROOTFS): $(ROOTFS_TAR) $(FIRMWARE_TAR) $(MODULES_TAR) $(CORES_TAR) $(ESDE_TAR) $(CONFIG_TAR)
|
|
$(RM) $@
|
|
truncate -s $(ROOTFS_SIZE) $@
|
|
$(S)/mkfsimage.sh $@ 0 ext4 rootfs $(ROOTFS_TAR) $(FIRMWARE_TAR):/lib/firmware/ $(MODULES_TAR):/lib/modules/ $(CORES_TAR) $(ESDE_TAR) $(CONFIG_TAR)
|
|
|
|
$(DATA):
|
|
$(RM) $@
|
|
truncate -s $(DATA_SIZE) $@
|
|
$(S)/mkdata.sh $@
|
|
|
|
clean:
|
|
$(RM) $(A)/*
|