A Comprehensive Guide to Makefile: From Basics to Advanced Applications

A Comprehensive Guide to Makefile: From Basics to Advanced Applications

Makefile is a compilation control file widely used for automating project builds. It defines a series of rules to guide the build process. With Makefile, developers can easily manage compilation, linking, cleaning, and other tasks for large projects. This article will start with the basic usage of Makefile and gradually delve into more advanced applications, … Read more

Makefile Learning Notes

Makefile Learning Notes

Basic Rules The Makefile is based on declarative dependencies as follows target: prerequisite prerequisite2 command target2: target command2 If you run target2, due to the declared dependencies, target will run first. It is important to note that the default target in Makefile is both a target and a local file, unless you declare it as … Read more

In-Depth Guide to Using Makefile

In-Depth Guide to Using Makefile

This article will illustrate how Makefile works using two examples. The author’s aim is to summarize the common problems beginners encounter when writing Makefiles in a concise manner. After reading this article, you should be able to start writing your own Makefile. Platform: Ubuntu 20 Tools: make, gcc What is Makefile The Makefile describes the … Read more

Simple Makefile Tutorial

Simple Makefile Tutorial

If you are a heavy command line user, learning Makefile can greatly improve your development efficiency. Below is a brief introduction to the knowledge and usage of Makefile. Makefile is a file that contains a set of instructions for compiling and building software projects. A Makefile typically contains a set of rules and dependencies that … Read more

Introduction to Writing Makefiles

Introduction to Writing Makefiles

Writing Makefiles 1. Introduction to make and Makefile 1.1 The make Tool The <span>make</span> tool can automatically complete compilation tasks. These tasks include: If only a few source files have been modified, only recompile those specific source files; If a header file is modified, recompile all source files that include that header file. This automatic … Read more

Getting Started with Yocto: Building a Linux Image from Scratch

Getting Started with Yocto: Building a Linux Image from Scratch

Because I need some knowledge related to embedded Linux in my work, I started to learn. Yocto is a complete set of tools under the Linux Foundation used to build Linux for embedded devices. With Yocto, we can create our own Linux system for our embedded devices, customize and trim the necessary modules, and package … Read more

Detailed Explanation of CMakeLists.txt

Detailed Explanation of CMakeLists.txt

In the previous article, “Introduction to CMake Build Tool for ESP32,” we introduced the most basic usage of CMake with a “Hello World” program. Today, we will provide a detailed explanation of the CMakeLists.txt file. CMakeLists.txt The CMakeLists.txt file is the core configuration file for the CMake build tool. It contains a series of instructions … Read more

CMake Learning Notes: Modular Project Management (Part 1)

CMake Learning Notes: Modular Project Management (Part 1)

1. What is CMake? CMake is a cross-platform project build tool. Other project build tools we are familiar with include Makefile (which builds projects using the make command). Most IDE software integrates make, such as nmake in VS, GNU make in Linux, and qmake in Qt. These Make tools follow different specifications and standards, and … Read more

Understanding the Power of CMake Build Tool

Understanding the Power of CMake Build Tool

CMake is an open-source, cross-platform build tool that is very well-known in the development community and is used in various projects. This article aims to explore why CMake is powerful. Content Source: https://aosabook.org/en/cmake.html Original Title: CMake Authors: Bill Hoffman && Kenneth Martin Translator: Liu Zuosha Note: The translation may have some simplifications, rearrangements, and additions … Read more