怎么在makefile中执行上面的编译操作呢
时间: 2024-03-14 09:44:47 浏览: 27
在Makefile中执行编译操作可以通过定义一个或多个规则来实现。以下是一个示例Makefile,可以用来编译您的程序:
```
CC=gcc
CFLAGS=-Wall -Wextra -std=c99 -pthread
LDFLAGS=-lm
SOURCES=main.c jisuan.c shuru.c
OBJECTS=$(SOURCES:.c=.o)
EXECUTABLE=main
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(CFLAGS) $(OBJECTS) -o $@ $(LDFLAGS)
.c.o:
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -rf $(OBJECTS) $(EXECUTABLE)
```
在该Makefile中,我们定义了三个变量:`CC`,`CFLAGS`和`LDFLAGS`,分别表示编译器、编译选项和链接选项。我们还定义了三个规则:
1. `all`规则:该规则依赖于源文件和可执行文件,执行`$(EXECUTABLE)`规则。
2. `$(EXECUTABLE)`规则:该规则依赖于所有的对象文件,执行链接操作,生成可执行文件。
3. `.c.o`规则:该规则表示如何将.c文件编译成.o文件。
您可以在当前目录下创建一个名为`Makefile`的文件,并将上述内容复制到该文件中。然后在终端中执行`make`命令即可编译您的程序。如果您想要清除已编译的文件,可以执行`make clean`命令。