Learn to construct a basic Makefile to automate building C programs.
Пікірлер: 517
@stevebest32007 жыл бұрын
Absolutely the best video on Makefiles. Barry illustrates the dependency tree, and ties it to the Makefile. Additionally, he covers the pre-processor, compiler, and assembler and ties it to the Makefile build process. Well done Sir! 5 stars.
@profbbrown7 жыл бұрын
I gave you a thumbs-up, but I'll say "thanks" too!
@t.j.barros.28174 жыл бұрын
@@profbbrown Congratulations + a Like me here! ..... Please elucidate me in 2 questions? 1) - I would like to know if I can get the value / content in my APP_1 of a variable / pointer of a switch / case from this ".so" file that my other APP_2 has invoked and is using / updating it at runtime? (summary: I want to get the value / content updated by another app in my app). 2) - And the most important thing I need to understand is: .... If this variable / pointer in a Function within ".so", which has its content / value dynamically updated by app_2 (because it gets updates by reference because it is a pointer, the value of this variable in App_2 is changed from time to time, and the file / library ".so" that my other App_1 wants to consume from it is a dependency on this application "App_2"), can this ".so" variable / pointer have its value / content (dynamically updated by App_2) consumed in my App_1 at runtime? ............. NOTE: My App_1 will only run when my other App_2 is running I think to avoid using higher level language features like BroadCastReceiver, Intents and System Calls. , etc etc .. ok. Thank you very much from my heart and Congratulations for the content once again, very didactic and easy to understand, offering a very quiet learning curve to all !! .... Strong hug, Barry !!
@minovercovermcr4 жыл бұрын
@@profbbrown upload more C contents please :( you helped me a lot more than any resources did in just 45mins.
@jde88818 жыл бұрын
I have read and watch many Makefiles. This is the best. Is very clear and well organize to explain what is Makefiles.Thank you.
@profbbrown8 жыл бұрын
You're welcome!
@miltonlaxer7 жыл бұрын
I second this. Great job!
@Adks0077 жыл бұрын
I Third this. Great job!
@GfastGao7 жыл бұрын
Fourth is here.
@michaelstewart957 жыл бұрын
v ftk sixth!
@BooBar25212 жыл бұрын
This is by far the best makefile tutorial on KZbin. Only thing missing are the dependencie files (*.d) and why there are needed but explained everything about *.o files
@stickydamper3 жыл бұрын
These videos are the best one can get. I've watched many tutorials, nothing beats this
@ZobairNajdaoui3 ай бұрын
the way that he build from 0 the idea of Makefile is just amazing thanks.
@oussamaayyoub56813 ай бұрын
Agree
@hiphop4x48 жыл бұрын
I watch a lot of videos for programming and this has by far been the most educational and biggest time saver for a complex process rather than asking my professor and waiting on him to email me back. your video layout is really helpful as well. Thank You!!!
@profbbrown8 жыл бұрын
Thanks!
@MishaAisyah2 жыл бұрын
ive been looking for videos and websites for days to understand how makefiles work. this is definitely the best explanation so far despite it being a 5 year old video. thank you so much Barry for making it simpler!!!
@hectorordonez34643 жыл бұрын
I am starting my career as Embedded Software Engineer and I can tell you that this is the best explanation so far!! Thank you a lot for this, it is very clear.
@rubempacelli68153 жыл бұрын
One of the clearest tutorial videos that I have ever found in my life about C programming and Makefile. I gonna check out the rest of your videos from this playlist. Congrats!
@zbrolman Жыл бұрын
For me this is really the best video for learning Makefiles on KZbin. You were really able to make a balance between diving deep into the topic and not overwhelming us with anything which is extra and could be described in a future video. Thank you!
@profbbrown Жыл бұрын
Glad you enjoyed it!
@1CProgrammer Жыл бұрын
until first half i forgot i was watching makefile tutorial, Thanks for the awesome video.
@rubempacelli6815 Жыл бұрын
That is the proof of your video's quality: I came back to this video after watching it for the first time two year ago. Again, congratulation for this wonderful video!
@atjhamit2 жыл бұрын
Impressed by the simplicity and yet the profound impact of this video. Loved it. Thanks Barry.
@profbbrown2 жыл бұрын
Glad you enjoyed it and got a lot out of it.
@AbdullahOmar948 жыл бұрын
Just Amazing, I would advise going straight to this video and leave the rest Makefiles introductory videos you find in KZbin search results. You might also want to consider reading the Wikipedia page, and afterwards some advanced documentations that may include functionalities that are required for your own purposes of using makefiles. Straight to the point, detailed just enough, and very very clear. Much appreciated Barry Brown
@Geochro7 жыл бұрын
I am in first year university and in intermediate programming. Intro to programming was fine, started intermediate... I couldn't even follow along in lectures. I just want to say, thank you for this. This video has helped me more that you may ever know. Need to secure a tutor now to keep on top of new content in my course!
@deryckschnee63763 жыл бұрын
Most useful 45 minutes I've spent in a long while. Thanks!
@HaykMherianUA7 жыл бұрын
wonderful explanation, 44 minutes passed like 10
@jeanatalle50716 жыл бұрын
True that! I thought it was just a quick 10 minute tutorial. I had to look back at the time stamp to confirm! Great job sir Barry!
@Chiramisudo6 жыл бұрын
44 minutes passed like 22. Thanks 2x speed! ;)
@CaffeineForCode5 жыл бұрын
Great explanation! It's nice to see someone use a compiler via the command line to show how it all works rather than relying on an IDE to do all of the work for you! Really appreciated.
@cfvbhf54757 ай бұрын
Even after 7 years this is the best video that perfectly explains makefile!
@onuryorutken55403 жыл бұрын
Really the best educational video not only on Makefile, but also about C headers, compiler and linker etc..
@orxanshirinov11675 жыл бұрын
What makes this video is unique and brilliant is the way of explaining the concepts. Even with the simple headers, instead of saying "hey guys, header is this and I'll show you how to use it.." , in this video it is explained in the way that it made us feel the reason behind why there is a need use use them instead of just a straightforward definition. Excellent explanation Sir !
@carlodambrosio32423 жыл бұрын
It is so rare to find who can explain things well. Very good lesson. Thank you.
@zaidakhtar30933 жыл бұрын
Amazing! The way you explained MakeFiles was smooth and crystal clear.
@nickrock61 Жыл бұрын
Definitely the best Makefile tutorial for fundamental I've ever seen. Concise, elegant, and clear. Thank you Prof. Brown.
@MccZerk4 жыл бұрын
Very rarely do I watch a 45 minutes video and have interest throughout the entire video, thank you, best makefile video!
@paulchamberlain794217 күн бұрын
Having only ever used an IDE for development I never really got exposed to makefiles so I came researching to plug the hole. Well explained, and now I understand that the IDE essentially provides visual abstractions of the makefile elements, and so explains how I hadn't previously bumped into their inner workings. I somehow feel less dependent on those IDEs now...
@charleswilliams83683 жыл бұрын
This was the clearest explanation of Makefiles I've seen. Thank you.
@nullbrain85523 жыл бұрын
I learned more from this than I did from 2 full lectures from my professor. THANK YOU!
@danielespinosa69267 жыл бұрын
I'm not a C programmer. I came here to learn how to use Makefiles for other purposes: building a minimal static website generator. This screencast is brilliant! THX
@profbbrown7 жыл бұрын
You're welcome! Makefiles can be used to automate the build process of just about anything. If you can write out the commands needed to build a project, you can turn them into a Makefile.
@jsnellink19905 жыл бұрын
You're the man Barry, your video finally made this topic come together for me! Your video feels like a more experienced co-worker taking an hour off his work to explain a topic he's intimately familiar with.
@hannahm92593 жыл бұрын
This video is so good, it seems unreal! Thanks Sir, nice and to the point, no additional frills, and no guy rambling about himself!
@pradeeplanka69762 жыл бұрын
Dear Sir, Thank you for the clear explanations. I have been hunting videos and article to learn what those make files are and how to use them. They were very complicated and had unexplained syntax in them. Today you enlightened me with this clear video. If you have time, kindly explain a bit more complicated syntax in Make files. Then, I and people like me who learn from the help of gentlemen like you who share knowledge can complete learning this stuff.
@gerdsfargen6687 Жыл бұрын
A classic quintessential lesson on Makefile in C...just what I needed today! Thank you Barry!
@profbbrown Жыл бұрын
Glad it was helpful!
@ziggy66983 жыл бұрын
Dude this just changed my life right now. So well explained. Thank you my friend.
@Evanovesky2 жыл бұрын
Thank you! It's really frustrating looking for a good tutorial through the internet, until KZbin recommended your video.
@profbbrown2 жыл бұрын
You are welcome!
@rustamfadeev91984 жыл бұрын
Thanks a lot for this video! Was watching and thinking that if every teacher in university would explain things like you do, the world would be a little bit better.
@soemiechag65377 жыл бұрын
Thanks! Very nice and well-structured lecture! The best one for Makefile I've seen so far.
@vikidprinciples4 жыл бұрын
Wonderful tutorial. Years of confusion removed by one video!
@yingwu51922 жыл бұрын
Thank you for your video. Although I know a typical Makefile for a project is more complex than this, your lecture is quite easy to understand. Thank you for your patient introduction from the very beginning of how gcc works from a .c file to an executable file then furtherly move to the introduction to Makefile.
@profbbrown2 жыл бұрын
You're welcome!
@drcl74299 ай бұрын
Might be 7 years old but this should be given to every student studying C. Should also be shown to the majority of CS teachers who fail at teaching these concepts. This is how you teach - show why something is done the way it is done and why it is required and what problems it solves instead of just saying "you have to do it like this".
@ajit555db5 жыл бұрын
Excellent Sir. Even though I am using make for DevOps activities, the concept of dependency tree inside make was a very good concept to understand make better.
@powerstar8172 жыл бұрын
I am learning c at the age of 26 and I felt this is very useful. Thank you sir
@twiggygordon39805 жыл бұрын
Sir, i cannot thank you enough for this video! You made everything so clear and precise.
@RishabhJain-pk8ty Жыл бұрын
Outstanding explanation. As a beginner dev, all i can say is this video made me happy and every min i spent on this was worth it.
@profbbrown Жыл бұрын
Glad you enjoyed it!
@kodcode89812 жыл бұрын
Amazing!!! Thanks Barry for this educational video. No distractions, straight to the point!
@profbbrown2 жыл бұрын
You're welcome!
@AaronccGuo4 жыл бұрын
its been years and I still come back to pick things up, such an amazing tutorial.
@Noobmaster_x693 жыл бұрын
Fantastic, clear and best video to understand the world of Makefiles!
@unmandarinoalgiorno...9321 Жыл бұрын
Thank you so much for this video! Everything is illustrated perfectly with your explanation and the diagrams. I was so lucky to find your video at the beginning of makefile's learning so that I didn't wasted too much time on other less comprehensible tutorials.
@mrmitch90027 жыл бұрын
thank you so much for this video. this is the clearest I've had make files explained to me and I've been reading up on them for at least a day now
@theblackelephant Жыл бұрын
This is one very educative very, I will recommend it to my fellow software engineering students at African Leadership University and ALX. Thank you so much for the content
@sede1893 жыл бұрын
Excellent, excellent, exclusive explanation of makefile. Well worth the time spent watching. Thank you!!!
@unchayndspersonalaccount76903 жыл бұрын
Hey I don't know if you're still reading comments on this video, but I just wanted to say thanks. I've been trying to wrap my head around makefiles, and it's been so confusing... targets, recipes... rules... linking? I wished I could see an explanation of how it works from the ground up, but pretty much all the videos I found were confusing... until this one, which I just watched straight through in one sitting. Now I finally get it. So thank you so much for explaining it all so carefully, clearly, and thoroughly! Also haha... when I saw the rm * .o ...I felt that.
@e_mcc_5 жыл бұрын
Best explanation on basic Makefile and how dependencies work! Great job man!
@IrizarryBrandon5 жыл бұрын
Worth the 40+ minutes, and that's rare for a KZbin video. Second-to-none content, keep it up!
@hectorjazz77 жыл бұрын
Perfect lesson.. clear, consistent, good english (i am chilean) Thanks!!!
@vahnlewis9749 Жыл бұрын
Just what I needed. A down to basics review for Makefiles. Been trying to build up my C++ proficiency, but it's like an octopus. To write C programs on Linux you need to learn C++ (and a bunch of modifying flags), linux, editors (vi. emacs), editor systems (Visual Code), compilers (gcc, clang, etc). I have managed to compile a few simple programs without make. Breaking down the various stages of compiling was very helpful and a great intro to make. (I would also like a discussion of what the linker step actually does, nobody talks about it. My first compilations, many years ago actually talked about compiling to object files and then using a linker to link them , but now the linker step is in the shadows.) The discussion of library "header" and non header included files was helpful. The process to create a Makefile line by line was very helpful. But Makefile is just the first step of abstraction, after that it seems you need to know c make, git, docker, it just goes on and on. My goal is to download git code and be able to assemble modified working programs and this video clarified some of the basic steps. Thanks.
@sandeepkumar-um3cl2 жыл бұрын
The explanation is so simple that even a non technical person can understand.... Great job👍👍👍👍👍
@profbbrown2 жыл бұрын
Glad you liked it
@eis3nheim3 жыл бұрын
One of the most amazing explanation of Makefiles. Thank you.
@abrantesfilho6 жыл бұрын
Thank you very much! This is, for sure, the BEST explanation about Makefiles that I have found on the whole Internet! Thank you, thank you, thank you!!
@samdavepollard3 жыл бұрын
super useful to this noob, the way you explicitly separate compilation and linking throws a lot of light onto what's happening many thanks
@nashs.42062 жыл бұрын
Absolutely phenomenal, cogent presentation. This is perhaps the clearest introduction to file organization as well as the basics of the build process I've seen. With that said, I had a quick question regarding the point you made at 25:35. We have established that header files only contain function prototypes, global variable declarations, pre-processor directives, etc. If we include, say, the math header file in a source file, then the compiler won't be able to compile the program because it isn't able to locate the actual definition of the various math functions. This is why we must use the compiler directive -lm to indicate that the compiler must search the directories for the math library. If this is true, then why isn't a similar thing done for the header file stdio.h? This too is a header file, and so it doesn't contain the actual function definition for things like printf, and scanf. Why, then, do we not use compiler directives to indicate that the compiler must search the directories for the stdio library? What is the difference between the math library and the stdio library that causes this difference in behavior?
@profbbrown2 жыл бұрын
Good question! The C standard library is linked in by default. In addition to the I/O and memory management functions, it also contains some setup code that your program needs to run. You can disable the automatic linking of the C library with the -nostdlib command line flag.
@nashs.42062 жыл бұрын
@@profbbrown gotcha thank you for the clarification!
@Adam-gp3ij5 жыл бұрын
Sir, you are just an amazing teacher! You made it so clear to me!
@CalculusSlayer2 жыл бұрын
This is the best makefile tutorial I've seen on youtube! Thank you so much!
@profbbrown2 жыл бұрын
You're very welcome!
@vinhtruonghuynh79684 жыл бұрын
Thank you for this outstanding lecture. This is so amazing. Thanks to your video, for the very first time, i can have a good understanding about the structure and the meaning of a makefile in detail.
@pixelwrinkly15283 жыл бұрын
almost scary, how much info you managed to pack into 44 minutes many thanks for sharing your knowledge - super useful
@leerdoor2 жыл бұрын
Wow, best introduction video to compiling and make i've seen so far. Excellent, thanks!
@aungpaing73052 жыл бұрын
So great a tutorial, clearly explain the basic from the stage of compilation. Thanks for such a great content.
@Biiiiird3 жыл бұрын
Great tutorial ! Loved how you broke things down very clearly ! Thank you so much
@Lavamar2 жыл бұрын
Thank you, really helped me understand these. I appreciate the consistent example throughout the video
@antonibrewka58376 жыл бұрын
Thank you very muchBarry Brown, clear, easy and full explanation. Great idea with screen and you on the corner, looks really professional. Good sound, everything is clear. Other youtubers should learn from you. Just perfect!
@DrOncogene2 жыл бұрын
Thank you for this excellent simplification. Makes it a breeze 🔥🔥
@olawaleipadeola79163 жыл бұрын
Thank you. Now I fully understand the structure and importance of a makefile.
@puffvayne3 жыл бұрын
08:46 my life is finally complete at this moment, lol. THIS GUY IS AWESOME!
@UrsMS6 ай бұрын
Appreciating this CHAMP ,Thank you so much.....Such a clear explanation which is needed badly for all who are in that field🙇♂🙇♂
@Anirbanengg2 жыл бұрын
Really Awesome Video. I have read many makefiles learning Videos but your explanation is really helps. Thank you!!!
@yusufberber7560 Жыл бұрын
This is the best tutorial for Makefile. I've learned a lot, thank you!
@profbbrown Жыл бұрын
You're very welcome!
@MuhammadSalman-gv6mx4 жыл бұрын
Like I am programming during my whole Bachelors, Asking everyone what are Makefiles but unfortunately, the same Answer searched from the google, Finally, Thanks to you Sir to let us know what really Makefiles are
@a_maxed_out_handle_of_30_chars2 жыл бұрын
i keep coming back to this video to refresh my memory, thanks :)
@profbbrown2 жыл бұрын
Glad to hear that!
@laurentbajrami36883 жыл бұрын
Easily the best video I have seen on Makefiles
@AnimeKing-m2t2 ай бұрын
Amazing tutorial. Simply explained the concepts.
@ElizaberthUndEugen8 жыл бұрын
thanks a lot! Finally this specific mystery has been cleared up for me!
@profbbrown8 жыл бұрын
+ElizaberthUndEugen Can I ask what mystery it was?
@ElizaberthUndEugen8 жыл бұрын
The mystery about the compiling process, the flags, the different temporary files and how header files actually work. I now understand why header files and implementation files that contain the code for the definitions in the headers should be separated, because this way all the code that implements the stuff defined in the header does not get compiled every time the .cpp that includes the header is being compiled. So far I always did the implementation directly in my header files and never understood why people would link some weird object files together if they could simply just compile their whole program. But they of course did that because they *had* to, because their headers only included definitions rather than implementations. Though, one thing I I still don't understand, why does one not have to explicitly link libraries like and and so on? Maybe that is a difference between C and C++? Because I do C++.
@profbbrown8 жыл бұрын
+ElizaberthUndEugen By default, C programs are linked to the Standard C Library, called libc (or glibc on Linux systems). C++ programs are linked to libstdc++. This comes automatically when you compile a program. These libc contains functions like printf, scanf, malloc, fopen, and the like. The Standard C++ Library contains the standard classes like iostream and vector. You don't need to explicitly link to these libraries.
@ElizaberthUndEugen8 жыл бұрын
Barry Brown Ah, that's why. Thanks!
@TheMahoney653 жыл бұрын
Superb presentation...someone thought about what they were going to say and the best way to say it.
@WHYCANTIFINDMYMONEY3 жыл бұрын
Greetings from Brazil! I love your videos, please keep going! Thank you so much, the very best video of makefile ever!!!
@braindeveloperdimensional55796 жыл бұрын
I use CMake but this explanation makes it easier to understand the concept. THANK YOUS.
@YungGudGalaxy6 жыл бұрын
This is the video that finally made it click for me, couldn't have been presented any better
@matematicaHobby Жыл бұрын
The best video on makefiles that I found on youtube!
@profbbrown Жыл бұрын
Glad you think so!
@vovchicplagov5 жыл бұрын
Thanks, professor! I really love your lectures and this kind of videos!! 👍👨🏻💻
@eumm11 Жыл бұрын
top-notch explanation, thank you so much Professor Barry!
@azimuth48502 жыл бұрын
So grateful to you for explaining this so well!!! Thank you!!!!!
@tinfever3 жыл бұрын
This is amazing. It felt like you were addressing my questions without me even asking them!
@jv3377 Жыл бұрын
excellent video, clear concise, clean whiteboard. Thanks This help me a lot for compiling Marlin 3D printer firmware.
@AaronccGuo5 жыл бұрын
good video, nice English, clear tutorial, didn't want to miss a sec. thank you.
@blazkowicz6663 жыл бұрын
Thank you so much sir, you are awesome. Extremely grateful to you for such a good explanation. Please make more videos on advanced C/C++ if you get the time
@ag123711 ай бұрын
Why is this not included at the beginning of every university course for C and C++, mostly in university they are just talking about this stuff and not demonstrating it in such a correlated way like this. Great video thanks a lot for the knowledge and work you put in to structure this so perfectly!
@drcl74299 ай бұрын
Indeed. When you start learning C there are so many mysterious things going on in the background and if you have curiosity you waste too much time trying to figure them out. This really is a gem and a masterclass on how to teach effectively.
@knauxu2 жыл бұрын
Best makefile video on all of the internet.
@flokipanda10 ай бұрын
Best video on makefiles and c compilation process
@mafone4885 Жыл бұрын
This is a great video and you are a great teacher to make things very simple. Thanks Barry!
@marcelwopperer97763 жыл бұрын
Best C compiler explanation ever!
@syatos3 жыл бұрын
thank you very much, this video cleared out the mess in my head about makefiles
@kewtomrao2 жыл бұрын
Thanks a ton for this!!! After this I was able to make my own make file for my lex and yacc program. Thanks a lot!!!