Sunday, July 5, 2015


GNU Make hay còn gọi là gmake hoặc make, là một công cụ mặc định trên Linux được dùng trong quá trình compile thư viện hoặc một chương trình nào đó. Một bộ 3 công cụ và script sau được dùng trong qúa trình trên:
+ Make (GNU Make)
+ Makefile (Shell script)
+ GCC Compiler

Makefile chứa các thông tin và chỉ dẫn (các lời gọi lệnh GCC Compiler); Make sẽ đọc, phân tích Makefile để làm các công việc theo các hướng dẫn trong đó.

Để xem thông tin về make

 [ninhld@localhost ~]$   
 [ninhld@localhost ~]$ gmake --version  
 GNU Make 3.82  
 Built for x86_64-redhat-linux-gnu  
 Copyright (C) 2010 Free Software Foundation, Inc.  
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>  
 This is free software: you are free to change and redistribute it.  
 There is NO WARRANTY, to the extent permitted by law.  
 [ninhld@localhost ~]$   
 [ninhld@localhost ~]$   
 [ninhld@localhost ~]$   
 [ninhld@localhost ~]$ make --version  
 GNU Make 3.82  
 Built for x86_64-redhat-linux-gnu  
 Copyright (C) 2010 Free Software Foundation, Inc.  
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>  
 This is free software: you are free to change and redistribute it.  
 There is NO WARRANTY, to the extent permitted by law.  
 [ninhld@localhost ~]$   

 [ninhld@localhost ~]$   
 [ninhld@localhost ~]$ make --help  
 Usage: make [options] [target] ...  
 Options:  
  -b, -m           Ignored for compatibility.  
  -B, --always-make      Unconditionally make all targets.  
  -C DIRECTORY, --directory=DIRECTORY  
                Change to DIRECTORY before doing anything.  
  -d             Print lots of debugging information.  
  --debug[=FLAGS]       Print various types of debugging information.  
  -e, --environment-overrides  
                Environment variables override makefiles.  
  --eval=STRING        Evaluate STRING as a makefile statement.  
  -f FILE, --file=FILE, --makefile=FILE  
                Read FILE as a makefile.  
  -h, --help         Print this message and exit.  
  -i, --ignore-errors     Ignore errors from recipes.  
  -I DIRECTORY, --include-dir=DIRECTORY  
                Search DIRECTORY for included makefiles.  
  -j [N], --jobs[=N]     Allow N jobs at once; infinite jobs with no arg.  
  -k, --keep-going      Keep going when some targets can't be made.  
  -l [N], --load-average[=N], --max-load[=N]  
                Don't start multiple jobs unless load is below N.  
  -L, --check-symlink-times  Use the latest mtime between symlinks and target.  
  -n, --just-print, --dry-run, --recon  
                Don't actually run any recipe; just print them.  
  -o FILE, --old-file=FILE, --assume-old=FILE  
                Consider FILE to be very old and don't remake it.  
  -p, --print-data-base    Print make's internal database.  
  -q, --question       Run no recipe; exit status says if up to date.  
  -r, --no-builtin-rules   Disable the built-in implicit rules.  
  -R, --no-builtin-variables Disable the built-in variable settings.  
  -s, --silent, --quiet    Don't echo recipes.  
  -S, --no-keep-going, --stop  
                Turns off -k.  
  -t, --touch         Touch targets instead of remaking them.  
  -v, --version        Print the version number of make and exit.  
  -w, --print-directory    Print the current directory.  
  --no-print-directory    Turn off -w, even if it was turned on implicitly.  
  -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE  
                Consider FILE to be infinitely new.  
  --warn-undefined-variables Warn when an undefined variable is referenced.  
  --warn-undefined-functions Warn when an undefined user function is called.  
   
 This program built for x86_64-redhat-linux-gnu  
 Report bugs to <bug-make@gnu.org>  
 [ninhld@localhost ~]$  

Các bài viết liên quan:
+ Makefile
+ Cross Compiler
Cross compiling the libraries



Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Lập trình hệ thống nhúng Linux . Powered by Luong Duy Ninh -