Welcome to the Linux Foundation Forum!
Linux Make tutorial
usmangt
Posts: 42
in Command Line
Hello,
I am looking for the Linux make command tutorial ( a video tutorial will be great, i search here in video tutorial but when type make in the search box gives something else where make word is type ) i have recently learn some basic programming of c language and using GCC for it.
Now i want to use the make tool for compiling and executing many files together. I have Google around and found the make file tutorials but too be honest i didn't understand from those and got confused.
It will be nice if someone of you know a good tutorial for a beginner to use Linux make files tool ( video one will be good ) so it can help in getting familiar with it.
Thank you
usman
0
Comments
-
Due to the many options that may be presented by the developers for compiling software I do not think that a general video tutorial will be available, but the official automake user guide is at http://sources.redhat.com/automake/automake.html. If you are also wanting to use the other auto-tools you can find links to mailing-lists and documentation at http://www.lrde.epita.fr/~adl/autotools.html0
-
Hi,
The guide from the redhat is really big but i think it's not that much related to compile gcc files (c language programs) and make them all work together. The guide is more on the other tools and advanced operations.0 -
The make utility is used along side the autoconf utility to build the configure and make scripts necessary to build your packages, you must look into the full set of utilities to find the options that will help you to build the correct scripts to build your package using autotools. The reading may be a bit lengthy, but there are automatic scripts included that will help to ease the process.
You will need to read the guide (http://www.gnu.org/software/autoconf/manual/index.html)to using all tools and work through trial and error to make the necessary scripts for your packages to use make on the gcc compiler.0 -
Hello@usman
The Make utility is not for beginner's use. The best way to understand Make utility is to go through the official manual , which you can download from the GNU community website.
Basically Make internally uses the last modified time stamp of file, for deciding whether to compile of not. I mean lets say you have one source file hello.c and you compiled this particular file using gcc you would got hello.o for first time. Now if you add/ remove some line in your source file hello.c and again used gcc for compilation make utility would generate a new hello.o file . But lets say if you have not changed anything in your original hello.c then make will not generate any new hello.o file.
So in short " If make utility check that source file last modified time stamp is latest than the object file(.o) file that means source file has been changed since last compilation , in that case make would generate a new object file otherwise make would skip the recompilation for that particular source file."
The above concept is very useful and important for larger projects. Because if you have changed in a particular source file than there is no need to recompile everything all over again. Only the dependent files should be recompiled ....This can be done by using make utility .... This reduces great amount of time while we are in development phase of any project. Because during that time we sometime change some line in a particular file in the entire project.
Hope above explanation would be of some use to you.. For usage please go through the official manual from GNU .
Regards,
Mantosh Kumar0 -
Can you give us the exact link to the GNU site regarding the make utility?0
-
saqman2060 wrote:Can you give us the exact link to the GNU site regarding the make utility?
http://www.gnu.org/software/make/manual/0 -
Hi,
http://www.gnu.org/manual/manual.html
Above link contains the information about all GNU utility manuals.
However if you want make utility manual , you can download from the link given below.
http://www.gnu.org/software/make/manual/
Hope this info would be useful to you. Please let me know if you want some more information regarding this .
Regrads,
Mantosh Kumar0 -
Ph03nix wrote:give us screenshot please...
Screenshot of what?0
Categories
- All Categories
- 167 LFX Mentorship
- 219 LFX Mentorship: Linux Kernel
- 795 Linux Foundation IT Professional Programs
- 355 Cloud Engineer IT Professional Program
- 179 Advanced Cloud Engineer IT Professional Program
- 82 DevOps Engineer IT Professional Program
- 127 Cloud Native Developer IT Professional Program
- 112 Express Training Courses
- 112 Express Courses - Discussion Forum
- 6.2K Training Courses
- 48 LFC110 Class Forum - Discontinued
- 17 LFC131 Class Forum
- 35 LFD102 Class Forum
- 227 LFD103 Class Forum
- 14 LFD110 Class Forum
- 39 LFD121 Class Forum
- 15 LFD133 Class Forum
- 7 LFD134 Class Forum
- 17 LFD137 Class Forum
- 63 LFD201 Class Forum
- 3 LFD210 Class Forum
- 5 LFD210-CN Class Forum
- 2 LFD213 Class Forum - Discontinued
- 128 LFD232 Class Forum - Discontinued
- 1 LFD233 Class Forum
- 2 LFD237 Class Forum
- 23 LFD254 Class Forum
- 697 LFD259 Class Forum
- 109 LFD272 Class Forum
- 3 LFD272-JP クラス フォーラム
- 10 LFD273 Class Forum
- 152 LFS101 Class Forum
- 1 LFS111 Class Forum
- 1 LFS112 Class Forum
- 1 LFS116 Class Forum
- 1 LFS118 Class Forum
- LFS120 Class Forum
- 7 LFS142 Class Forum
- 7 LFS144 Class Forum
- 3 LFS145 Class Forum
- 1 LFS146 Class Forum
- 3 LFS147 Class Forum
- 1 LFS148 Class Forum
- 15 LFS151 Class Forum
- 1 LFS157 Class Forum
- 33 LFS158 Class Forum
- 8 LFS162 Class Forum
- 1 LFS166 Class Forum
- 1 LFS167 Class Forum
- 3 LFS170 Class Forum
- 2 LFS171 Class Forum
- 1 LFS178 Class Forum
- 1 LFS180 Class Forum
- 1 LFS182 Class Forum
- 1 LFS183 Class Forum
- 29 LFS200 Class Forum
- 736 LFS201 Class Forum - Discontinued
- 2 LFS201-JP クラス フォーラム
- 14 LFS203 Class Forum
- 102 LFS207 Class Forum
- 1 LFS207-DE-Klassenforum
- 1 LFS207-JP クラス フォーラム
- 301 LFS211 Class Forum
- 55 LFS216 Class Forum
- 48 LFS241 Class Forum
- 42 LFS242 Class Forum
- 37 LFS243 Class Forum
- 15 LFS244 Class Forum
- LFS245 Class Forum
- LFS246 Class Forum
- 50 LFS250 Class Forum
- 1 LFS250-JP クラス フォーラム
- LFS251 Class Forum
- 154 LFS253 Class Forum
- LFS254 Class Forum
- LFS255 Class Forum
- 5 LFS256 Class Forum
- 1 LFS257 Class Forum
- 1.3K LFS258 Class Forum
- 10 LFS258-JP クラス フォーラム
- 111 LFS260 Class Forum
- 159 LFS261 Class Forum
- 41 LFS262 Class Forum
- 82 LFS263 Class Forum - Discontinued
- 15 LFS264 Class Forum - Discontinued
- 11 LFS266 Class Forum - Discontinued
- 20 LFS267 Class Forum
- 24 LFS268 Class Forum
- 29 LFS269 Class Forum
- 1 LFS270 Class Forum
- 199 LFS272 Class Forum
- 1 LFS272-JP クラス フォーラム
- LFS274 Class Forum
- 3 LFS281 Class Forum
- 9 LFW111 Class Forum
- 260 LFW211 Class Forum
- 182 LFW212 Class Forum
- 13 SKF100 Class Forum
- 1 SKF200 Class Forum
- 1 SKF201 Class Forum
- 782 Hardware
- 198 Drivers
- 68 I/O Devices
- 37 Monitors
- 96 Multimedia
- 174 Networking
- 91 Printers & Scanners
- 83 Storage
- 743 Linux Distributions
- 80 Debian
- 67 Fedora
- 15 Linux Mint
- 13 Mageia
- 23 openSUSE
- 143 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 348 Ubuntu
- 461 Linux System Administration
- 39 Cloud Computing
- 70 Command Line/Scripting
- Github systems admin projects
- 90 Linux Security
- 77 Network Management
- 101 System Management
- 46 Web Management
- 64 Mobile Computing
- 17 Android
- 34 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 371 Off Topic
- 114 Introductions
- 174 Small Talk
- 19 Study Material
- 507 Programming and Development
- 285 Kernel Development
- 204 Software Development
- 1.8K Software
- 211 Applications
- 180 Command Line
- 3 Compiling/Installing
- 405 Games
- 309 Installation
- 97 All In Program
- 97 All In Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)