- Back to Home »
- Linux Basic »
- GNU Make (GMake/Make)
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