用户3765803
使用Kernel的Makefile生成tags和cscope看代码更方便
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户3765803
社区首页
>
专栏
>
使用Kernel的Makefile生成tags和cscope看代码更方便
使用Kernel的Makefile生成tags和cscope看代码更方便
用户3765803
关注
发布于 2019-03-05 09:57:51
发布于 2019-03-05 09:57:51
2K
0
举报
文章被收录于专栏:
悟空被FFmpeg玩
悟空被FFmpeg玩
[root@btg ext4]# make help
Cleaning targets:
clean - Remove most generated files but keep the config and
enough build support to build external modules
mrproper - Remove all generated files + config + various backup files
distclean - mrproper + remove editor backup and patch files
Configuration targets:
config - Update current config utilising a line-oriented program
nconfig - Update current config utilising a ncurses menu based program
menuconfig - Update current config utilising a menu based program
xconfig - Update current config utilising a QT based front-end
gconfig - Update current config utilising a GTK based front-end
oldconfig - Update current config utilising a provided .config as base
localmodconfig - Update current config disabling modules not loaded
localyesconfig - Update current config converting local mods to core
silentoldconfig - Same as oldconfig, but quietly, additionally update deps
defconfig - New config with default from ARCH supplied defconfig
savedefconfig - Save current config as ./defconfig (minimal config)
allnoconfig - New config where all options are answered with no
allyesconfig - New config where all options are accepted with yes
allmodconfig - New config selecting modules when possible
alldefconfig - New config with all symbols set to default
randconfig - New config with random answer to all options
listnewconfig - List new options
oldnoconfig - Same as silentoldconfig but set new symbols to n (unset)
Other generic targets:
all - Build all targets marked with [*]
* vmlinux - Build the bare kernel
* modules - Build all modules
modules_install - Install all modules to INSTALL_MOD_PATH (default: /)
firmware_install- Install all firmware to INSTALL_FW_PATH
(default: $(INSTALL_MOD_PATH)/lib/firmware)
dir/ - Build all files in dir and below
dir/file.[oisS] - Build specified target only
dir/file.lst - Build specified mixed source/assembly target only
(requires a recent binutils and recent build (System.map))
dir/file.ko - Build module including final link
modules_prepare - Set up for building external modules
tags/TAGS - Generate tags file for editors
cscope - Generate cscope index
gtags - Generate GNU GLOBAL index
kernelrelease - Output the release version string
kernelversion - Output the version stored in Makefile
headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
(default: /opt/ext4/usr)
checkstack - Generate a list of stack hogs
namespacecheck - Name space analysis on compiled kernel
versioncheck - Sanity check on version.h usage
includecheck - Check for duplicate included header files
export_report - List the usages of all exported symbols
headers_check - Sanity check on exported headers
headerdep - Detect inclusion cycles in headers
coccicheck - Check with Coccinelle.
Kernel packaging:
rpm-pkg - Build both source and binary RPM kernel packages
binrpm-pkg - Build only the binary kernel package
deb-pkg - Build the kernel as an deb package
tar-pkg - Build the kernel as an uncompressed tarball
targz-pkg - Build the kernel as a gzip compressed tarball
tarbz2-pkg - Build the kernel as a bzip2 compressed tarball
tarxz-pkg - Build the kernel as a xz compressed tarball
perf-tar-src-pkg - Build perf-2.6.39-rc3.tar source tarball
perf-targz-src-pkg - Build perf-2.6.39-rc3.tar.gz source tarball
perf-tarbz2-src-pkg - Build perf-2.6.39-rc3.tar.bz2 source tarball
perf-tarxz-src-pkg - Build perf-2.6.39-rc3.tar.xz source tarball
Documentation targets:
Linux kernel internal documentation in different formats:
htmldocs - HTML
pdfdocs - PDF
psdocs - Postscript
xmldocs - XML DocBook
mandocs - man pages
installmandocs - install man pages generated by mandocs
cleandocs - clean all generated DocBook files
Architecture specific targets (x86):
* bzImage - Compressed kernel image (arch/x86/boot/bzImage)
install - Install kernel using
(your) ~/bin/installkernel or
(distribution) /sbin/installkernel or
install to $(INSTALL_PATH) and run lilo
fdimage - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)
fdimage144 - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)
fdimage288 - Create 2.8MB boot floppy image (arch/x86/boot/fdimage)
isoimage - Create a boot CD-ROM image (arch/x86/boot/image.iso)
bzdisk/fdimage*/isoimage also accept:
FDARGS="..." arguments for the booted kernel
FDINITRD=file initrd for the booted kernel
x86_64_defconfig - Build for x86_64
i386_defconfig - Build for i386
make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
make V=2 [targets] 2 => give reason for rebuild of target
make O=dir [targets] Locate all output files in "dir", including .config
make C=1 [targets] Check all c source with $CHECK (sparse by default)
make C=2 [targets] Force check of all c source with $CHECK
make W=1 [targets] Enable extra gcc checks
Execute "make" or "make all" to build all targets marked with [*]
For further info see the ./README file
[root@btg ext4]#
[root@btg ext4]# make tags cscope
GEN tags
GEN cscope
[root@btg ext4]#
我自己生成的cscope和tags打开的内容
Cscope tag: start_kernel
# 行 文件名 / 上下文 / 行
1 135 arch/alpha/boot/bootp.c <<start_kernel>>
start_kernel(void )
2 263 arch/alpha/boot/bootpz.c <<start_kernel>>
start_kernel(void )
3 153 arch/alpha/boot/main.c <<start_kernel>>
void start_kernel(void )
4 456 init/main.c <<start_kernel>>
asmlinkage void __init start_kernel(void )
Type number and <Enter> (empty cancels):
如果使用kernel的Makefile里的会直接进入到
4 456 init/main.c <<start_kernel>>
asmlinkage void __init start_kernel(void )
里面
非常方便
本文参与
腾讯云自媒体同步曝光计划
,分享自作者个人站点/博客。
原始发表:2011/06/02 ,如有侵权请联系
cloudcommunity@tencent.com
删除
前往查看
kernel
makefile
linux
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档