Linux 编写make文件实现编译c或c++代码
时间: 2024-03-24 16:36:06 浏览: 16
好的,这是一个简单的示例Makefile文件,可以用来编译一个C++程序:
```
CC=g++
CFLAGS=-c -Wall
LDFLAGS=
SOURCES=main.cpp hello.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=hello
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o $@
.cpp.o:
$(CC) $(CFLAGS) $< -o $@
clean:
rm -rf *o $(EXECUTABLE)
```
这个Makefile包含了以下几个目标:
- all:默认目标,编译所有的源文件并生成可执行文件
- clean:清除所有生成的对象文件和可执行文件
你可以使用以下命令来编译程序:
```
make
```
这将会编译所有的源文件并生成可执行文件。
如果你只想编译指定的源文件,可以使用以下命令:
```
make hello.o
```
这将会编译hello.cpp文件并生成对象文件hello.o。
最后,如果你想清除所有生成的对象文件和可执行文件,可以使用以下命令:
```
make clean
```
相关问题
linux make编译py文件
make是一个用于自动化编译程序的工具,它通常用于编译C/C++代码。如果你想编译Python程序,你可以使用Python自带的编译器。
在Linux中,你可以使用以下命令来编译一个.py文件:
```
python -m py_compile your_script.py
```
这将在同一目录下生成一个.pyc文件,这个文件是Python编译过的字节码文件,可以在Python解释器中运行。
如果你想在make文件中使用这个命令,你可以像这样编写一个规则:
```
your_script.pyc: your_script.py
python -m py_compile $<
```
这将告诉make,如果your_script.pyc文件不存在或者比your_script.py文件旧,那么就运行python -m py_compile your_script.py命令来生成your_script.pyc文件。
linux 编写makefile文件运行项目
Makefile 是一种类似于脚本的文件,用于自动化编译和构建项目。下面是一个简单的 Makefile 的示例,用于编译一个包含两个源文件的 C++ 程序:
```
CC=g++
CFLAGS=-c -Wall
LFLAGS=
SRC=main.cpp functions.cpp
OBJ=$(SRC:.cpp=.o)
EXECUTABLE=myprogram
all: $(SRC) $(EXECUTABLE)
$(EXECUTABLE): $(OBJ)
$(CC) $(LFLAGS) $(OBJ) -o $@
.cpp.o:
$(CC) $(CFLAGS) $< -o $@
clean:
rm -rf *.o $(EXECUTABLE)
```
在 Makefile 中,每一行都是一个命令。Makefile 中使用变量来保存编译器和编译选项。上面的 Makefile 中,`CC` 变量是编译器,`CFLAGS` 变量是编译选项。`SRC` 变量保存了源文件名,`OBJ` 变量保存了编译后的目标文件名,`EXECUTABLE` 变量保存了最终的可执行文件名。
Makefile 中最重要的部分是规则。规则指定了如何将目标文件构建出来,以及如何从源代码生成目标文件。在上面的 Makefile 中,规则 `all` 指定了需要编译的源文件和目标文件,以及最终生成的可执行文件。`$(EXECUTABLE)` 规则指定了如何将目标文件链接为最终的可执行文件。`.cpp.o`规则指定了如何从源代码生成目标文件的方式。
要运行项目,只需要在命令行中输入 `make` 命令即可。如果成功编译,将会生成可执行文件 `myprogram`。如果需要清除已编译的文件,可以运行 `make clean` 命令。