当前位置:首页 > 学习资源 > 讲师博文 > 分享一些通用的Makefile文件模板

分享一些通用的Makefile文件模板 时间:2024-01-16      来源:华清远见

Makefile是一个用来管理和自动化构建大型项目的工具,其可以根据源代码的变化自动决定哪些文件需要重新编译。一个好的Makefile文件模板能够使项目的构建更加高效和可靠。下面是几个通用的Makefile文件模板,供您参考:

 

1. 简单的C/C++项目模板:

 

```makefile

CC=gcc

CFLAGS=-c -Wall

 

all: your_program

 

your_program: main.o file1.o file2.o

    $(CC) main.o file1.o file2.o -o your_program

 

main.o: main.c

    $(CC) $(CFLAGS) main.c

 

file1.o: file1.c

    $(CC) $(CFLAGS) file1.c

 

file2.o: file2.c

    $(CC) $(CFLAGS) file2.c

 

clean:

    rm -rf *.o your_program

```

 

2. 包含多个目标的项目模板:

 

```makefile

CC=gcc

CFLAGS=-c -Wall

LIBS=-lm

 

all: target1 target2

 

target1: file1.o file2.o

    $(CC) file1.o file2.o $(LIBS) -o target1

 

target2: file3.o file4.o

    $(CC) file3.o file4.o $(LIBS) -o target2

 

%.o: %.c

    $(CC) $(CFLAGS) $< -o $@

 

clean:

    rm -rf *.o target1 target2

```

 

3. 包含文件依赖关系的项目模板:

 

```makefile

CC=gcc

CFLAGS=-c -Wall

LIBS=-lm

 

SRCS=$(wildcard *.c)

DEPS=$(SRCS:.c=.d)

 

all: target

 

target: $(DEPS)

    $(CC) $(DEPS) $(LIBS) -o target

 

%.d: %.c

    $(CC) -MM $< -o $@ $(CFLAGS)

 

-include $(DEPS)

 

clean:

    rm -rf *.d target

```

 

4. C++项目模板:

 

```makefile

CXX=g++

CXXFLAGS=-c -Wall

 

all: your_program

 

your_program: main.o file1.o file2.o

    $(CXX) main.o file1.o file2.o -o your_program

 

main.o: main.cpp

    $(CXX) $(CXXFLAGS) main.cpp

 

file1.o: file1.cpp

    $(CXX) $(CXXFLAGS) file1.cpp

 

file2.o: file2.cpp

    $(CXX) $(CXXFLAGS) file2.cpp

 

clean:

    rm -rf *.o your_program

```

 

这些Makefile文件模板可以帮助您快速构建和自动化项目的编译过程。您可以根据自己的项目需求进行修改和扩展。希望对您有所帮助!

上一篇:嵌入式高级工程师10年经验总结(经历、技术分享)

下一篇:机器学习常用算法之线性回归

戳我查看2020年嵌入式每月就业风云榜

点我了解华清远见高校学霸学习秘籍

猜你关心企业是如何评价华清学员的

干货分享
相关新闻
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2024 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部