makefile如何同时能够编译.c和.cpp文件
时间: 2024-02-18 15:03:03 浏览: 240
makefile编译多个文件
可以使用以下的makefile代码来同时编译.c和.cpp文件:
```
CC=g++
CFLAGS=-c -Wall
LFLAGS=-Wall
SOURCES=main.c mycppfile.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=myprogram
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(LFLAGS) $(OBJECTS) -o $@
.cpp.o:
$(CC) $(CFLAGS) $< -o $@
.c.o:
$(CC) $(CFLAGS) $< -o $@
clean:
rm -rf *o $(EXECUTABLE)
```
上面的makefile中,SOURCES变量包含了所有需要编译的.c和.cpp文件。OBJECTS变量将所有cpp文件的后缀替换为.o后得到的文件名称。all规则会调用$(EXECUTABLE)规则,$(EXECUTABLE)规则会依赖$(OBJECTS)规则,$(OBJECTS)规则会编译所有的.c和.cpp文件。最后,makefile还提供了一个clean规则,可以用来清除所有的.o文件和可执行文件。
阅读全文