Makefile笔记——汇总

1.Makefile定义宏供源文件使用

Makefile:

#STR_A=“Hello”  error

all:
    gcc -o test main.c -D STR_A    -D STR_A 必须放在编译选项的最后

main.c:

#include <stdio.h>

char  info=STR_A;      //这里的宏定义来自Makefile

void  main(void)
{
    printf("%d
", info); //1
}

2.Linux内核编译一个目标多个源文件

path:drivers/media/i2c/adv748x

adv748x-objs    := 
        adv748x-afe.o 
        adv748x-core.o 
        adv748x-csi2.o 
        adv748x-hdmi.o

obj-$(CONFIG_VIDEO_ADV748X)    += adv748x.o

3.Makefile中$^表示所有依赖,$<表示第一个依赖

eg:
Person: main.o person.o 此时$^为main.o person.o,$<为main.o

4.Makefile中的通配符

%o : %.cpp
g++ $< -c -o $@
原文地址:https://www.cnblogs.com/hellokitty2/p/8491203.html