Makefiles Make Your Life Easier

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ก.ค. 2022
  • In this video, we learn why Makefiles are great and how to use them properly.
    ◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
    📚 Programming Books & Merch 📚
    🐍 The Python Bible Book: www.neuralnine.com/books/
    💻 The Algorithm Bible Book: www.neuralnine.com/books/
    👕 Programming Merch: www.neuralnine.com/shop
    🌐 Social Media & Contact 🌐
    📱 Website: www.neuralnine.com/
    📷 Instagram: / neuralnine
    🐦 Twitter: / neuralnine
    🤵 LinkedIn: / neuralnine
    📁 GitHub: github.com/NeuralNine
    🎙 Discord: / discord
    🎵 Outro Music From: www.bensound.com/
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 83

  • @insert9124
    @insert9124 ปีที่แล้ว +69

    Neuralnine casually creating a c files in a python director

  • @potatocoder5090
    @potatocoder5090 6 หลายเดือนก่อน +9

    Thank you for creating this tutorial! Because you explained what the manual way looks like and its pitfalls, it helped me appreciate Makefiles. You are a great teacher!

  • @bijeshmohan
    @bijeshmohan ปีที่แล้ว +2

    I was looking for this! Thanks.

  • @eumm11
    @eumm11 ปีที่แล้ว +8

    thank you so much man, excellent explanation!

  • @LazizbekYusupov92
    @LazizbekYusupov92 8 หลายเดือนก่อน

    Awesome work! It made clear it all in one video!

  • @rishichowdary9764
    @rishichowdary9764 7 หลายเดือนก่อน +2

    got the clear understanding , GOTCHA
    thanks by the way
    Well done , CHAP

  • @vonderklaas
    @vonderklaas 6 หลายเดือนก่อน

    Thanks man, very helpful! Subscribed!

  • @idrisalhajiadamu7590
    @idrisalhajiadamu7590 9 หลายเดือนก่อน +1

    I learn something and have hit the like button, thank you very much.😎

  • @FroyoAnto
    @FroyoAnto 8 หลายเดือนก่อน +4

    this whole time I was writing my own batch file for this, never knew this existed 💀

  • @jeffreyhunter4115
    @jeffreyhunter4115 5 หลายเดือนก่อน

    Very well explained. Thanks for sharing.

  • @Universe822
    @Universe822 หลายเดือนก่อน

    Thank you. I used to do huge commands in the terminal but it's high time I use make.

  • @BlackCat-gh8fr
    @BlackCat-gh8fr ปีที่แล้ว

    Thanks, simple and helpful.

  • @ConcealedSteel2
    @ConcealedSteel2 16 วันที่ผ่านมา

    Excellent tutorial!

  • @ZuhairKhouri2003
    @ZuhairKhouri2003 7 หลายเดือนก่อน

    Excellent video!🙏

  • @adetolasanni2
    @adetolasanni2 ปีที่แล้ว

    Thanks man. Clear enough

  • @IshanSathe-rm9uk
    @IshanSathe-rm9uk หลายเดือนก่อน

    Thanks! That helped a lot :).

  • @ZeroCool2211
    @ZeroCool2211 3 หลายเดือนก่อน

    Thank u for uploading this

  • @dinispetrukha4382
    @dinispetrukha4382 7 หลายเดือนก่อน

    Awesome Job!

  • @kirito6374
    @kirito6374 7 หลายเดือนก่อน

    Very Informative!

  • @ruslanart8734
    @ruslanart8734 6 วันที่ผ่านมา

    I finally managed to link libraries because of this tutorial. I can now commit to learning c.

  • @emilie1977
    @emilie1977 ปีที่แล้ว +16

    thank you! I have 3 books on C but no one has told me how to make a Makefile

    • @caiodavi9829
      @caiodavi9829 8 หลายเดือนก่อน +7

      thats because makefile has nothing to do with C. its just a software thar allows you to use logic while executing CLI commands. of course, you can use it to compile C projects too

  • @nimishanaruka4767
    @nimishanaruka4767 5 หลายเดือนก่อน

    Great help!!

  • @NickFletcher-gb9ne
    @NickFletcher-gb9ne 26 วันที่ผ่านมา

    Great thank you very much.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 ปีที่แล้ว +7

    10:38 Why did you have to do “make clean”? A key point with make is that it only rebuilds the parts that have changed, yet you are forcing it to rebuild everything.

    • @tiagobecerrapaolini3812
      @tiagobecerrapaolini3812 ปีที่แล้ว

      One reason is to rebuild the entire project from scratch, in case something got corrupted along the way or just to be safe when building the final executables. Or maybe just to free some space of build artifacts, once everything is finished.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 ปีที่แล้ว

      @@tiagobecerrapaolini3812 But it’s not something you would want to do every time.

    • @goofyahhhhman
      @goofyahhhhman 9 หลายเดือนก่อน

      @@lawrencedoliveiro9104no the point is to simplify the process and write less commands

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 9 หลายเดือนก่อน

      @@goofyahhhhman The point of “make” is to follow the dependency chain and only rebuild what needs to be rebuilt.

    • @goofyahhhhman
      @goofyahhhhman 9 หลายเดือนก่อน

      @@lawrencedoliveiro9104 what the first reply says

  • @vishnubalaji9500
    @vishnubalaji9500 7 หลายเดือนก่อน

    does it work on windows too or any equivalent?

  • @Anonymous-lw1zy
    @Anonymous-lw1zy 4 หลายเดือนก่อน

    Superb!

  • @Orangehat000
    @Orangehat000 2 หลายเดือนก่อน

    thank you so much

  • @claudestephaneadriendjanti4227
    @claudestephaneadriendjanti4227 3 หลายเดือนก่อน

    i dont realy understand how you manage to displaye the content of the function(hello world) minewhile this function is not part of the defferen functioncreated using flags and from what i see they are not diretly connected

  • @iamraghug
    @iamraghug 2 หลายเดือนก่อน

    Thanks

  • @md2perpe
    @md2perpe ปีที่แล้ว +13

    Doesn't it disturb you having a prompt that takes up more that 2/3 of the screen width? I have shortened my prompt and added line breaks into it so that the information (like host and directory) is on one line and the actual prompt is alone on another line.

    • @IonizedComa
      @IonizedComa 9 หลายเดือนก่อน

      Long prompts are not bad if you're using a 2 line prompt, which for bash can easily be fixed with oh my bash

    • @dapodix
      @dapodix 7 หลายเดือนก่อน

      Downside / Consequence of using WSL?

  • @Jonathan-ru9zl
    @Jonathan-ru9zl 8 หลายเดือนก่อน

    Great!

  • @mohamedabotayeh4115
    @mohamedabotayeh4115 4 หลายเดือนก่อน

    guys why it says nv is not found for me?

  • @johnnwick733
    @johnnwick733 5 หลายเดือนก่อน

    Hey, we couldve just included the hello.c file in the main.c code and run gcc main.c. Why are we using makefiles then ?

    • @SteelFoundations
      @SteelFoundations 4 หลายเดือนก่อน +3

      Including hello.c in main.c would create one huge .c file when compiling. That prevents you from splitting builds into separate compile and link stages, which greatly slows down builds when you're working on projects with thousands of files. The strength of makefiles is more than just running the gcc or compiler commands for you; makefiles also determine which files need to be compiled and which ones can be skipped.

  • @teddycallejero
    @teddycallejero 8 หลายเดือนก่อน

    Thx

  • @shadowrealm8937
    @shadowrealm8937 7 หลายเดือนก่อน +1

    What is the point to do -c first and then compile from object files? It will compile if you just put *.c files right? What is the point of this *.o file, it just seems like extra step for no reason.

    • @SteelFoundations
      @SteelFoundations 4 หลายเดือนก่อน +2

      It is an extra step. The reason is because if you're working on a large project with thousands of files, recompiling every single file will take hours. By splitting the build into separate compiling and linking stages, you can skip the compiling stage for files that don't need to be recompiled.

  • @thg1nrediar
    @thg1nrediar ปีที่แล้ว +1

    Good

  • @lsouza1327
    @lsouza1327 ปีที่แล้ว

    you could get zsh shell and use a prompt with break line

  • @sakithb
    @sakithb 3 หลายเดือนก่อน

  • @guilherme5094
    @guilherme5094 ปีที่แล้ว

    👍

  • @philtoa334
    @philtoa334 ปีที่แล้ว

    Thx_.

  • @xntumrfo9ivrnwf
    @xntumrfo9ivrnwf ปีที่แล้ว +2

    What ide are you using? With the nv command

  • @TMNIARB3A
    @TMNIARB3A 7 หลายเดือนก่อน +1

    RAK GHAYA

  • @relytheone853
    @relytheone853 7 หลายเดือนก่อน

    And you haven't scratch the surface...

  • @JohnZakaria
    @JohnZakaria ปีที่แล้ว +2

    I hate makefiles, cmake is much better at generating them (or even using Ninja).

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 ปีที่แล้ว +3

      Ninja is an alternative to makefiles.
      Make originated at a time when it was expected you would write makefiles by hand. So Make (particularly GNU Make) includes a lot of features for expressing complex rules and expressions and things, to minimize the size of the makefiles you have to write. But nowadays, many if not most makefiles are generated by front-end processors like CMake or Meson or even GNU Autotools. So a lot of the advanced stuff in Make is not really necessary and just duplicates the functionality of those front-end processors.
      So we have Ninja, which is like a stripped-down reimagining of Make, which assumes that you will use such a front-end processor, rather than writing your Ninja files by hand.

  • @RockTo11
    @RockTo11 8 หลายเดือนก่อน

    That can be easily achieved using a batch file too.

    • @AbAb-th5qe
      @AbAb-th5qe 4 หลายเดือนก่อน

      They have more power than that for incremental builds. Makefiles are s**t, but at least they're simple

  • @bapisarkar4124
    @bapisarkar4124 8 หลายเดือนก่อน

    I need to talk you something important can I,,
    Have a think for something if you don't mind

  • @Zancb
    @Zancb ปีที่แล้ว

    Jesus christ, change your PS1. That's way too long bro.

  • @SeriousGamer42
    @SeriousGamer42 8 หลายเดือนก่อน

    No it fucking don’t.
    I wrote 1 make file and almost kms several times.

  • @igormicovic
    @igormicovic หลายเดือนก่อน

    Tbh to me it seems you got no clue what ya doin

  • @kingnexa7257
    @kingnexa7257 ปีที่แล้ว

    Thanks