標籤

C (1) maple (2) Matlab (11) paper (1) python (14)

2014年6月19日 星期四

liunx "Make" parameters

Cleaning targets:

  clean  - Remove most generated files but keep the config and

                    enough build support to build external modules
// 移除 *.o (不會清除 ".config")
  mrproper  - Remove all generated files + config + various backup files
// 移除 *.o ,也移除.config
  distclean  - mrproper + remove editor backup and patch files
// 連備份檔都清除掉.

// clean < mrproper < distclean

補充一下為什麼會叫做 mrproper
"make mrproper" is a command in the Linux kernel build system, used to "clean up" all files from past builds and restore the build directory to its original clean state. The reason "make mrproper" is used instead of "make mrclean" is because Linus Torvalds, the father of Linux, was familiar with the name "Mr. Proper" as this is the brand widely known in Europe."


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: /home/hankwu/git/elite_android-VEPD-9-d8f8/usr)



Static analysers

  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 a 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-3.4.39.tar source tarball

  perf-targz-src-pkg  - Build perf-3.4.39.tar.gz source tarball

  perf-tarbz2-src-pkg - Build perf-3.4.39.tar.bz2 source tarball

  perf-tarxz-src-pkg  - Build perf-3.4.39.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



  i386_defconfig           - Build for i386

  x86_64_defconfig         - Build for x86_64



  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 RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections

  make W=n   [targets] Enable extra gcc checks, n=1,2,3 where

1: warnings which may be relevant and do not occur too often

2: warnings which occur quite often but may still be relevant

3: more obscure warnings, can most likely be ignored

Multiple levels can be combined with W=12 or W=123



Execute "make" or "make all" to build all targets marked with [*]

For further info see the ./README file

1 則留言:

  1. Thanks for sharing this Information !!

    Check out More Linux Trouble Shooting.
    (Installation/Configururation/Trouble Shooting etc) at :
    Linux Trouble Shooting

    回覆刪除