Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Software Development Tools No-Code Development
Business
Entrepreneurship Communication Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certifications Network & Security Hardware Operating Systems & Servers Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Paid Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement & Gardening Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition & Diet Yoga Mental Health Martial Arts & Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Learning Teacher Training Test Prep Other Teaching & Academics
Web Development JavaScript React Angular CSS Node.Js PHP HTML5 Vue JS
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Amazon AWS Cisco CCNA Microsoft AZ-900 CompTIA Security+
Microsoft Power BI SQL Tableau Data Modeling Business Analysis Business Intelligence MySQL Qlik Sense Data Analysis
Unity Unreal Engine Game Development Fundamentals C# 3D Game Development C++ Unreal Engine Blueprints 2D Game Development Blender
Google Flutter iOS Development Android Development Swift React Native Dart (programming language) Kotlin Mobile App Development SwiftUI
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting Canva InDesign Character Design Procreate Digital Illustration App
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Life Purpose Mindfulness Sound Therapy Meditation Emotional Intelligence
Business Fundamentals Entrepreneurship Fundamentals Freelancing Business Strategy Startup Business Plan Online Business Blogging Leadership
Digital Marketing Social Media Marketing Marketing Strategy Google Analytics Internet Marketing Email Marketing Copywriting YouTube Marketing Startup

IT & SoftwareOther IT & SoftwareGNU Make

GNU Make & Makefile To Build C/C++ Projects - (LINUX,MAC)

Understand build process internals to write better makefile for C/C++ Projects in Linux & MAC OS.
Rating: 3.8 out of 53.8 (128 ratings)
881 students
Created by Subrata Kumar Swain
Last updated 4/2022
English
English [Auto]

What you'll learn

  • Build C/C++ program using Makefile
  • As a C/C++ developer what we should know about makefile!
  • Is Makefile difficult? No No No not at all. We will make it simple. We will focus on how easily we can work in Makefile. Doing Project here, so your concept will be cleared.
  • You will feel this course as a practical guide to Makefile.(MAC,Linux)
  • Cross Compilation Support
  • Tricks To Make it Handy!

Requirements

  • Linux or Mac OS
  • Should have basic knowledge in C or C++.
  • Better if know what is executables binaries, shared object(.so), static library(.a)

Description

Understand make tool & write better makefile by understanding what is happening behind the scene(Creation of intermediate files) during building C/C++ programs. We will understand the makefile by using a real time example( "Creation Of Egg Omelet" ).

We are going to do 2 projects during the learning process of makefile.

PROJECT#1: Without knowing/remembering too many things you will be able to write a makefile for generating binary, shared object(.so), static object(.a), and also get a trick to link from anywhere. After completion of this project Idea of makefile will be cleared. We are creating a makefile template after completing this project and which can be easily used in any project.

PROJECT#2: During implementing this project, we'll improve our makefile and makefile template created in Project#1 by applying patterns, functions.

Every step we will face some problem and then apply the solution.


We will begin with the PROJECT FOLDER STRUCTURE creation(THIS CAN BE USED IN REAL TIME PROJECTS) after understanding all the possible output of a C/C++ program. Then we will come across more technical issues in programming and try to solve them one by one during this journey. Our project structure is in such a way that deployment process will become much easier.


We'll start writing simple makefiles and keep on improving as we really need it! We are doing lots of exercises and facing lots of issues and also fixing all on the fly!

We are going to write a makefile for all possible outputs. In this course you will always learn WHY??? and HOW???

I will show you the real requirement of a particular concept and then we will learn and apply that.


Highlights:

1. Write makefile by knowing minimal things.

2. One Makefile to call all makefiles

3. Makefile with Cross Compilation feature

4. Makefile considering DEBUG & RELEASE version of binary.

5. Passing MACRO from makefile to other makefile

6. Detect environment variables of terminal and one make pass the same to other make.

7. We will discuss high level design(HLD) of the projects and from that you will feel how easy it is to write a makefile.

8. You will be more comfortable with command line compilation

9. Understand shared object linking issues and how to fix it temporarily as well as permanently.

10. Project will be done in MAC and copied to Linux. We will directly do a single make which will call all the modules makefile and build the executables, shared object, static objects seamlessly. IMPORTANT thing is WITHOUT ANY SINGLE LINE OF CODE CHANGE FOR LINUX!


Who this course is for:

  • C,C++ programmer willing to learn how to write Makefile for building project. IMP: If working in a project from the scratch(Get more benefit out of this course).
  • Students,Software Engineers,Project Leads & Technical Managers

Instructor

Subrata Kumar Swain
C++ developer since 18+yrs
Subrata Kumar Swain
  • 3.8 Instructor Rating
  • 147 Reviews
  • 2,254 Students
  • 3 Courses

I have worked with both product based and service based MNC companies for more than 18yrs as a software developer. Love to share my experience in C++ from beginning level to expert level with C++11/14/17/20.

In my professional carrier, I have worked in different technologies like C,C++,Java,Python,C#,QT, Gtkmm and domains like web, embedded system, automation, oil and gas and automobile.

Making programming(OOP) simple as much as possible for programmers is one of my hobby.

Top companies choose Udemy Business to build in-demand career skills.
NasdaqVolkswagenBoxNetAppEventbrite
  • Udemy Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Investors
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Accessibility statement
Udemy
© 2022 Udemy, Inc.