GNU Make Makefile To Build CC Projects LINUXMAC

Understand build process internals to write better makefile for C/C++ Projects in Linux & MAC OS.
GNU Make Makefile To Build CC Projects LINUXMAC
File Size :
2.14 GB
Total length :
4h 13m

Category

Instructor

Subrata Kumar Swain

Language

Last update

Last updated 11/2022

Ratings

4.1/5

GNU Make Makefile To Build CC Projects LINUXMAC

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. We’ll 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!

GNU Make Makefile To Build CC Projects LINUXMAC

GNU Make Makefile To Build CC Projects LINUXMAC-screenshot

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 makefiles3. Makefile with Cross Compilation feature4. Makefile considering DEBUG & RELEASE version of binary.5. Passing MACRO from makefile to other makefile6. 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 compilation9. 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!

Overview

Section 1: Introduction & Environment Setup

Lecture 1 Introduction

Lecture 2 Environment Setup

Section 2: Behind The Scene

Lecture 3 What Is Happening Behind The Scene?

Lecture 4 Understanding Preprocessor Details

Section 3: Decide Types Of Outputs & Create Folder Structure

Lecture 5 POSSIBLE OUTPUTs OF C/C++ PROGRAM

Lecture 6 CREATION OF PROJECT FOLDER STRUCTURE

Section 4: Make & Makefile

Lecture 7 Make & Makefile

Lecture 8 STRUCTURE OF MAKEFILE

Lecture 9 REAL WORLD MAKE

Lecture 10 WHO WILL CLEAN? (UNDERSTAND PHONY TARGET)

Lecture 11 FIRST MAKEFILE(STEP BY STEP DEMO)

Lecture 12 OVERRIDE DEFAULT TARGET

Section 5: PROJECT#01

Lecture 13 SOURCE CODE & NOTES FOR REFERENCE

Lecture 14 UNDERSTANDING REQUIREMENT WITH HLD

Lecture 15 MOD-1 IMPLEMENTATION & MAKEFILE

Lecture 16 MOD1-MAKEFILE UPDATE(01)

Lecture 17 MOD1-MAKEFILE UPDATE(02)-LINKER FLAG

Lecture 18 MOD1-MAKEFILE UPDATE(03)-COMPILER FLAG

Lecture 19 MOD-1 C++ IMPLEMENTATION

Lecture 20 Organize Makefile In Better Way

Lecture 21 MOD-2 RQ, DESIGN, IMPLEMENT & CMDLINE COMPILATION DEMO

Lecture 22 MOD-2 Makefile(.so)

Lecture 23 TEST BINARY TO TEST IF SO IS USABLE?

Lecture 24 HEADER FILE COPY TO SHARED LOCATION

Lecture 25 MOD-3 HLD

Lecture 26 MOD3-IMPLEMENTATION

Lecture 27 MOD4-DESIGN

Lecture 28 MOD4-IMPLEMENTATION

Lecture 29 MOD 5 HLD

Lecture 30 MOD-5 Source code & Makefile

Lecture 31 Review PROJ#01(5 MODULES RQ)

Section 6: We Must Know!

Lecture 32 ThingsToRememberForMakefile

Lecture 33 PASSING MACRO DURING BUILD PROCESS

Lecture 34 UNDERSTAND THE NEED OF -std

Lecture 35 == Vs :=

Lecture 36 PHONY TARGET DEMO

Section 7: Makefile Template

Lecture 37 Makefile TEMPLATE-I

Lecture 38 Makefile TEMPLATE-II

Lecture 39 Makefile TEMPLATE-III

Section 8: PROJ#02(Let’s Start Final Project – Learn How To Use Makefile Template)

Lecture 40 UnderstandingPROJECT & HL DESIGN

Lecture 41 Project_Sourcecode_Explanation

Lecture 42 Static Library – Use Template To Create Makefile for Employee module

Lecture 43 Shared Object – Use Template To Create Makefile for module DB_MGR

Lecture 44 Binary Executable – Use makefile template to create makefile for UI

Lecture 45 Run – UI (Linking Error Demo)

Lecture 46 Fix Linking Issue In MAC

Lecture 47 Fix Linking Issue In Linux

Section 9: Upcoming…

Lecture 48 Upcoming Concepts

Section 10: ONE MAKEFILE TO BUILD PROJECT BY CALLING OTHER MAKEFILES

Lecture 49 WRITING COMMON MAKEFILE

Lecture 50 Export Inside Terminal To make the binary work

Lecture 51 Export Inside Makefile

Lecture 52 CROSSCOMPILER SETUP TIPS FOR C & CPP

Section 11: Let’s Optimize Our Makefile(Functions & Patterns)

Lecture 53 Why Patterns & Functions(Problem Statement Explained)

Lecture 54 Understanding FUNCTION&PATTERN

Lecture 55 Live Demo – Detect Source Files & Determine Obj&binary file names

Lecture 56 LIVE_DEMO-Simple Make To Build All CPP Files

Lecture 57 GenerateObjectFilesWithBinaries

Lecture 58 OptimizeMakefile-Obj-GenerationFailed-I

Lecture 59 OptimizeMakefile-Obj-GenerationSUCCESS-II

Lecture 60 I-Optimise_common_makefile-PLANNING

Lecture 61 II-OCM-WhatCanBeOptimisedInOldMakefile

Lecture 62 III-OCM-UserDefinedFunction

Lecture 63 IV-OCM-Why2TimesMakeRun

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

Course Information:

Udemy | English | 4h 13m | 2.14 GB
Created by: Subrata Kumar Swain

You Can See More Courses in the IT & Software >> Greetings from CourseDown.com

New Courses

Scroll to Top