Makefile (5a84d159061d914c8dd4aa372ac6e9529c2be453) | Makefile (a26ee60f90daffe1de6be0d093af86e7279b3dfd) |
---|---|
1# 2# kbuild file for usr/ - including initramfs image 3# 4 5klibcdirs:; 6PHONY += klibcdirs 7 | 1# 2# kbuild file for usr/ - including initramfs image 3# 4 5klibcdirs:; 6PHONY += klibcdirs 7 |
8# Find out "preferred" ramdisk compressor. Order of preference is 9# 1. bzip2 efficient, and likely to be present 10# 2. gzip former default 11# 3. lzma 12# 4. none |
|
8 | 13 |
14# None of the above 15suffix_y = 16 17# Lzma, but no gzip nor bzip2 18suffix_$(CONFIG_RD_LZMA) = .lzma 19 20# Gzip, but no bzip2 21suffix_$(CONFIG_RD_GZIP) = .gz 22 23# Bzip2 24suffix_$(CONFIG_RD_BZIP2) = .bz2 25 26 |
|
9# Generate builtin.o based on initramfs_data.o | 27# Generate builtin.o based on initramfs_data.o |
10obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data.o | 28obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data$(suffix_y).o |
11 | 29 |
12# initramfs_data.o contains the initramfs_data.cpio.gz image. | 30# initramfs_data.o contains the compressed initramfs_data.cpio image. |
13# The image is included using .incbin, a dependency which is not 14# tracked automatically. | 31# The image is included using .incbin, a dependency which is not 32# tracked automatically. |
15$(obj)/initramfs_data.o: $(obj)/initramfs_data.cpio.gz FORCE | 33$(obj)/initramfs_data$(suffix_y).o: $(obj)/initramfs_data.cpio$(suffix_y) FORCE |
16 17##### 18# Generate the initramfs cpio archive 19 20hostprogs-y := gen_init_cpio 21initramfs := $(CONFIG_SHELL) $(srctree)/scripts/gen_initramfs_list.sh 22ramfs-input := $(if $(filter-out "",$(CONFIG_INITRAMFS_SOURCE)), \ 23 $(shell echo $(CONFIG_INITRAMFS_SOURCE)),-d) 24ramfs-args := \ 25 $(if $(CONFIG_INITRAMFS_ROOT_UID), -u $(CONFIG_INITRAMFS_ROOT_UID)) \ 26 $(if $(CONFIG_INITRAMFS_ROOT_GID), -g $(CONFIG_INITRAMFS_ROOT_GID)) 27 | 34 35##### 36# Generate the initramfs cpio archive 37 38hostprogs-y := gen_init_cpio 39initramfs := $(CONFIG_SHELL) $(srctree)/scripts/gen_initramfs_list.sh 40ramfs-input := $(if $(filter-out "",$(CONFIG_INITRAMFS_SOURCE)), \ 41 $(shell echo $(CONFIG_INITRAMFS_SOURCE)),-d) 42ramfs-args := \ 43 $(if $(CONFIG_INITRAMFS_ROOT_UID), -u $(CONFIG_INITRAMFS_ROOT_UID)) \ 44 $(if $(CONFIG_INITRAMFS_ROOT_GID), -g $(CONFIG_INITRAMFS_ROOT_GID)) 45 |
28# .initramfs_data.cpio.gz.d is used to identify all files included | 46# .initramfs_data.cpio.d is used to identify all files included |
29# in initramfs and to detect if any files are added/removed. 30# Removed files are identified by directory timestamp being updated 31# The dependency list is generated by gen_initramfs.sh -l | 47# in initramfs and to detect if any files are added/removed. 48# Removed files are identified by directory timestamp being updated 49# The dependency list is generated by gen_initramfs.sh -l |
32ifneq ($(wildcard $(obj)/.initramfs_data.cpio.gz.d),) 33 include $(obj)/.initramfs_data.cpio.gz.d | 50ifneq ($(wildcard $(obj)/.initramfs_data.cpio.d),) 51 include $(obj)/.initramfs_data.cpio.d |
34endif 35 36quiet_cmd_initfs = GEN $@ 37 cmd_initfs = $(initramfs) -o $@ $(ramfs-args) $(ramfs-input) 38 | 52endif 53 54quiet_cmd_initfs = GEN $@ 55 cmd_initfs = $(initramfs) -o $@ $(ramfs-args) $(ramfs-input) 56 |
39targets := initramfs_data.cpio.gz | 57targets := initramfs_data.cpio.gz initramfs_data.cpio.bz2 initramfs_data.cpio.lzma initramfs_data.cpio |
40# do not try to update files included in initramfs 41$(deps_initramfs): ; 42 43$(deps_initramfs): klibcdirs | 58# do not try to update files included in initramfs 59$(deps_initramfs): ; 60 61$(deps_initramfs): klibcdirs |
44# We rebuild initramfs_data.cpio.gz if: 45# 1) Any included file is newer then initramfs_data.cpio.gz | 62# We rebuild initramfs_data.cpio if: 63# 1) Any included file is newer then initramfs_data.cpio |
46# 2) There are changes in which files are included (added or deleted) | 64# 2) There are changes in which files are included (added or deleted) |
47# 3) If gen_init_cpio are newer than initramfs_data.cpio.gz | 65# 3) If gen_init_cpio are newer than initramfs_data.cpio |
48# 4) arguments to gen_initramfs.sh changes | 66# 4) arguments to gen_initramfs.sh changes |
49$(obj)/initramfs_data.cpio.gz: $(obj)/gen_init_cpio $(deps_initramfs) klibcdirs 50 $(Q)$(initramfs) -l $(ramfs-input) > $(obj)/.initramfs_data.cpio.gz.d | 67$(obj)/initramfs_data.cpio$(suffix_y): $(obj)/gen_init_cpio $(deps_initramfs) klibcdirs 68 $(Q)$(initramfs) -l $(ramfs-input) > $(obj)/.initramfs_data.cpio.d |
51 $(call if_changed,initfs) 52 | 69 $(call if_changed,initfs) 70 |