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 -
[email protected]
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
- 10.2K All Categories
- 36 LFX Mentorship
- 89 LFX Mentorship: Linux Kernel
- 506 Linux Foundation Boot Camps
- 279 Cloud Engineer Boot Camp
- 104 Advanced Cloud Engineer Boot Camp
- 49 DevOps Engineer Boot Camp
- 41 Cloud Native Developer Boot Camp
- 2 Express Training Courses
- 2 Express Courses - Discussion Forum
- 1.8K Training Courses
- 17 LFC110 Class Forum
- 5 LFC131 Class Forum
- 20 LFD102 Class Forum
- 148 LFD103 Class Forum
- 13 LFD121 Class Forum
- 61 LFD201 Class Forum
- LFD210 Class Forum
- 1 LFD213 Class Forum - Discontinued
- 128 LFD232 Class Forum
- 23 LFD254 Class Forum
- 570 LFD259 Class Forum
- 100 LFD272 Class Forum
- 1 LFD272-JP クラス フォーラム
- 1 LFS145 Class Forum
- 23 LFS200 Class Forum
- 739 LFS201 Class Forum
- 1 LFS201-JP クラス フォーラム
- 1 LFS203 Class Forum
- 46 LFS207 Class Forum
- 298 LFS211 Class Forum
- 53 LFS216 Class Forum
- 46 LFS241 Class Forum
- 41 LFS242 Class Forum
- 37 LFS243 Class Forum
- 10 LFS244 Class Forum
- 27 LFS250 Class Forum
- 1 LFS250-JP クラス フォーラム
- 131 LFS253 Class Forum
- 998 LFS258 Class Forum
- 10 LFS258-JP クラス フォーラム
- 87 LFS260 Class Forum
- 126 LFS261 Class Forum
- 31 LFS262 Class Forum
- 79 LFS263 Class Forum
- 15 LFS264 Class Forum
- 10 LFS266 Class Forum
- 17 LFS267 Class Forum
- 17 LFS268 Class Forum
- 21 LFS269 Class Forum
- 201 LFS272 Class Forum
- 1 LFS272-JP クラス フォーラム
- 213 LFW211 Class Forum
- 154 LFW212 Class Forum
- 899 Hardware
- 217 Drivers
- 74 I/O Devices
- 44 Monitors
- 115 Multimedia
- 208 Networking
- 101 Printers & Scanners
- 85 Storage
- 749 Linux Distributions
- 88 Debian
- 64 Fedora
- 14 Linux Mint
- 13 Mageia
- 24 openSUSE
- 133 Red Hat Enterprise
- 33 Slackware
- 13 SUSE Enterprise
- 355 Ubuntu
- 473 Linux System Administration
- 38 Cloud Computing
- 69 Command Line/Scripting
- Github systems admin projects
- 94 Linux Security
- 77 Network Management
- 108 System Management
- 49 Web Management
- 63 Mobile Computing
- 22 Android
- 27 Development
- 1.2K New to Linux
- 1.1K Getting Started with Linux
- 528 Off Topic
- 127 Introductions
- 213 Small Talk
- 20 Study Material
- 796 Programming and Development
- 264 Kernel Development
- 498 Software Development
- 923 Software
- 258 Applications
- 182 Command Line
- 2 Compiling/Installing
- 76 Games
- 316 Installation
- 54 All In Program
- 54 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)