linux核心的
makefile分為5
個部分:
makefile 頂層
makefile
.config 核心配置檔案
arch/$(arch)/makefile 具體架構的
makefile
scripts/makefile.* 通用的規則等。面向所有的
kbuild makefiles。
kbuild makefiles 核心源**中大約有
500個這樣的檔案
頂層makefile
閱讀的.config
檔案,而該檔案是由核心配置程式生成的
根據.config
自動生成
-->include/linux/autoconf.h
這個檔案供所有原始檔使用
-->include/config/auto.conf
這個檔案供makefile使用,被頂層makefile包含
1、包含配置
442 -inlcude include/config/auto.conf
2、包含體系
arch
的makefile
491 include $(srctree)/arch/$(arch)/makefile
3、包含
13個子目錄分為5類
433
init-y := init/
drivers-y := drivers/ sound/
net-y := net/
libs-y := lib/
core-y := usr/
core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/
4、修改體系和交叉編譯
185 arch ?= arm
cross_compile ?= arm-linux-
head-y := arch/arm/kernel/head.o arch/arm/kernel/init_task.o
core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common
core-y += $(machine)
core-$(config_arch_s3c2410) += arch/arm/mach-s3c2410/
core-$(config_arch_s3c2410) += arch/arm/mach-s3c2412/
core-$(config_arch_s3c2410) += arch/arm/mach-s3c2440/
libs-y := arch/arm/lib/ $(libs-y)
vmlinux:
$(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) force
vmlinux-init := $(head-y) $(init-y)
head-y := arch/arm/kernel/head.o arch/arm/kernel/init_task.o
init –y := init/built-in.o
vmlinux-main := $(core-y) $(libs-y) $(drivers-y) $(net-y)
core-y := usr/
core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/
libs-y := lib/lib.a lib/built-in.o
drivers-y := drivers/built-in.o sound/built-in.o
net-y := net/built-in.o
vmlinux-all :
= $(vmlinux-init) $(vmlinux-main)
vmlinux-lds :
= arch/$(arch)/kernel/vmlinux.lds
mini2440硬體篇之系統時鐘
一般系統的時鐘又外部晶振促發,通過內部電路產生時鐘源。2440時鐘控制邏輯給整個晶元提供了三種時鐘,fclk用於cpu核,hclk用於ahb匯流排裝置,如cpu核 儲存控制器 中斷控制器 ldc控制器 dma pclk用於apb匯流排裝置,如看門狗 iis iic pwm定時器 mmc adc ua...
mini2440移植之目標環境搭建
一.建立環境 1.目標環境 linux 2.6.32.2 smdk2440 mini2440 2.指定交叉編譯變數 修改總目錄下的makefile,設定預設目標平台及預設編譯器 原export kbuild buildhost subarch arch subarch cross compile 改...
Madplay移植到mini2440全過程詳解
madplay交叉編譯 交叉編譯器 arm linux gcc 3.4.1 pc環境 ubuntu 8.10 注意 最好在root許可權下執行以下移植,否則在make install時可能許可權不夠。一 移植madplay前的準備 madplay的移植需要以下的幾個包 libid3tag 0.15....