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!
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