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
- 232 LFX Mentorship
- 232 LFX Mentorship: Linux Kernel
- 812 Linux Foundation IT Professional Programs
- 365 Cloud Engineer IT Professional Program
- 183 Advanced Cloud Engineer IT Professional Program
- 82 DevOps Engineer IT Professional Program
- 151 Cloud Native Developer IT Professional Program
- 140 Express Training Courses & Microlearning
- 140 Express Courses - Discussion Forum
- Microlearning - Discussion Forum
- 6.4K Training Courses
- 48 LFC110 Class Forum - Discontinued
- 71 LFC131 Class Forum
- 47 LFD102 Class Forum
- 229 LFD103 Class Forum
- 20 LFD110 Class Forum
- 44 LFD121 Class Forum
- LFD125 Class Forum
- 18 LFD133 Class Forum
- 8 LFD134 Class Forum
- 18 LFD137 Class Forum
- 71 LFD201 Class Forum
- 5 LFD210 Class Forum
- 5 LFD210-CN Class Forum
- 2 LFD213 Class Forum - Discontinued
- 128 LFD232 Class Forum - Discontinued
- 2 LFD233 Class Forum
- 4 LFD237 Class Forum
- 24 LFD254 Class Forum
- 712 LFD259 Class Forum
- 111 LFD272 Class Forum - Discontinued
- 4 LFD272-JP クラス フォーラム
- 13 LFD273 Class Forum
- 202 LFS101 Class Forum
- 1 LFS111 Class Forum
- 3 LFS112 Class Forum
- 3 LFS116 Class Forum
- 7 LFS118 Class Forum
- LFS120 Class Forum
- 9 LFS142 Class Forum
- 8 LFS144 Class Forum
- 4 LFS145 Class Forum
- 3 LFS146 Class Forum
- 15 LFS148 Class Forum
- 15 LFS151 Class Forum
- 5 LFS157 Class Forum
- 49 LFS158 Class Forum
- LFS158-JP クラス フォーラム
- 10 LFS162 Class Forum
- 2 LFS166 Class Forum
- 5 LFS167 Class Forum
- 3 LFS170 Class Forum
- 2 LFS171 Class Forum
- 3 LFS178 Class Forum
- 3 LFS180 Class Forum
- 2 LFS182 Class Forum
- 5 LFS183 Class Forum
- 33 LFS200 Class Forum
- 737 LFS201 Class Forum - Discontinued
- 3 LFS201-JP クラス フォーラム - Discontinued
- 20 LFS203 Class Forum
- 135 LFS207 Class Forum
- 2 LFS207-DE-Klassenforum
- 2 LFS207-JP クラス フォーラム
- 302 LFS211 Class Forum
- 56 LFS216 Class Forum
- 52 LFS241 Class Forum
- 50 LFS242 Class Forum
- 38 LFS243 Class Forum
- 16 LFS244 Class Forum
- 5 LFS245 Class Forum
- LFS246 Class Forum
- LFS248 Class Forum
- 54 LFS250 Class Forum
- 2 LFS250-JP クラス フォーラム
- 1 LFS251 Class Forum
- 156 LFS253 Class Forum
- 1 LFS254 Class Forum
- 1 LFS255 Class Forum
- 10 LFS256 Class Forum
- 1 LFS257 Class Forum
- 1.3K LFS258 Class Forum
- 11 LFS258-JP クラス フォーラム
- 135 LFS260 Class Forum
- 160 LFS261 Class Forum
- 43 LFS262 Class Forum
- 82 LFS263 Class Forum - Discontinued
- 15 LFS264 Class Forum - Discontinued
- 11 LFS266 Class Forum - Discontinued
- 24 LFS267 Class Forum
- 25 LFS268 Class Forum
- 32 LFS269 Class Forum
- 6 LFS270 Class Forum
- 202 LFS272 Class Forum - Discontinued
- 2 LFS272-JP クラス フォーラム
- 4 LFS147 Class Forum
- 1 LFS274 Class Forum
- 4 LFS281 Class Forum
- 15 LFW111 Class Forum
- 262 LFW211 Class Forum
- 184 LFW212 Class Forum
- 15 SKF100 Class Forum
- 1 SKF200 Class Forum
- 2 SKF201 Class Forum
- 797 Hardware
- 199 Drivers
- 68 I/O Devices
- 37 Monitors
- 104 Multimedia
- 174 Networking
- 91 Printers & Scanners
- 85 Storage
- 759 Linux Distributions
- 82 Debian
- 67 Fedora
- 17 Linux Mint
- 13 Mageia
- 23 openSUSE
- 148 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 354 Ubuntu
- 470 Linux System Administration
- 39 Cloud Computing
- 71 Command Line/Scripting
- Github systems admin projects
- 95 Linux Security
- 78 Network Management
- 102 System Management
- 47 Web Management
- 69 Mobile Computing
- 18 Android
- 38 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 377 Off Topic
- 115 Introductions
- 175 Small Talk
- 26 Study Material
- 807 Programming and Development
- 304 Kernel Development
- 485 Software Development
- 1.8K Software
- 263 Applications
- 183 Command Line
- 3 Compiling/Installing
- 988 Games
- 317 Installation
- 103 All In Program
- 103 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)