makefiles.txt

やっぱ 6 Architecture Makefiles あたりをざっくりチェックできてれば良いよな、と言いつつ確認。

とりあえづ

arch/$(ARCH)/Makefile 確認必要な模様。あ、これってアレだ。

# If we have a machine-specific directory, then include it in the build.
core-y				+= arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
core-y				+= $(machdirs) $(platdirs)
core-$(CONFIG_FPE_NWFPE)	+= arch/arm/nwfpe/
core-$(CONFIG_FPE_FASTFPE)	+= $(FASTFPE_OBJ)
core-$(CONFIG_VFP)		+= arch/arm/vfp/

drivers-$(CONFIG_OPROFILE)      += arch/arm/oprofile/

libs-y				:= arch/arm/lib/ $(libs-y)

ただ、謎なのが以下の記述です。

boot := arch/arm/boot

と思ったら同じソレで以下な記述がありますね。

# Convert bzImage to zImage
bzImage: zImage

zImage Image xipImage bootpImage uImage: vmlinux
	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@

zinstall install: vmlinux
	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@

ええと build というナニは

	"$(Q)$(MAKE) $(build)=<dir>" is the recommended way to invoke
	make in a subdirectory.

ということらしいです。で、以下な記述を目にしてるんですがちょい限界orz

--- 6.8 Preprocessing linker scripts

	When the vmlinux image is built, the linker script
	arch/$(ARCH)/kernel/vmlinux.lds is used.
	The script is a preprocessed variant of the file vmlinux.lds.S
	located in the same directory.
	kbuild knows .lds files and includes a rule *lds.S -> *lds.

こんなのもありますが。。

# We use MRPROPER_FILES and CLEAN_FILES now
archclean:
	$(Q)$(MAKE) $(clean)=$(boot)

# My testing targets (bypasses dependencies)
bp:;	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/bootpImage
i zi:;	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@

ちょっとここはスルーさせて下さい。
というか、arm/arch 配下の対象なナニを確認の方向。どれどれなんだったかは投入済みのエントリを見たら分かるのかどうか。

エントリ投入済み

以下でした。
arch/arm/mach-versatile
arch/arm/kernel
arch/arm/mm
arch/arm/common
arch/arm/boot/compressed
arch/arm/lib
arch/arm/nwf
とりあえず、ここから先を明日掘削とゆーことで (を