Makefile相对路径
时间: 2023-11-15 12:58:21 浏览: 34
Makefile相对路径指的是在Makefile文件中使用相对路径来指定源文件、目标文件、头文件等的位置。相对路径是相对于当前Makefile文件所在的目录而言的。
例如,如果我们有一个Makefile文件位于项目根目录下,而源文件位于src目录下,我们可以使用相对路径来指定源文件的位置:
```
SRC_DIR = src
SRCS = $(wildcard $(SRC_DIR)/*.c)
```
这里,`$(SRC_DIR)`表示src目录的路径,`$(wildcard $(SRC_DIR)/*.c)`表示获取src目录下所有的.c文件。
同样地,我们也可以使用相对路径来指定目标文件的位置:
```
OBJ_DIR = obj
OBJS = $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRCS))
```
这里,`$(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRCS))`表示将所有的.c文件替换成对应的.o文件,并将其放在obj目录下。
需要注意的是,在使用相对路径时,我们需要确保Makefile文件和源文件、目标文件、头文件等在同一级目录或者在正确的相对路径下。
相关问题
Makefile 添加文件路径
要将文件路径添加到 Makefile 中,可以使用变量来定义路径,然后在规则中使用这些变量。例如,假设你要将源代码文件放在 src/ 目录下,可以在 Makefile 中定义一个变量来表示该目录:
```
SRCDIR = src
```
然后,在规则中使用该变量来指定源文件路径,例如:
```
myprogram: $(SRCDIR)/main.c $(SRCDIR)/util.c
gcc -o myprogram $(SRCDIR)/main.c $(SRCDIR)/util.c
```
这样,当你需要更改源文件路径时,只需要修改变量的值即可。
Makefile 添加文件路径 incdir
要将文件路径添加到 Makefile 中,可以使用变量来定义路径,然后在规则中使用这些变量。假设你要将头文件放在 inc/ 目录下,可以在 Makefile 中定义一个变量来表示该目录:
```
INCDIR = inc
```
然后,在编译选项中添加 `-I` 标志,并使用该变量来指定头文件路径,例如:
```
CFLAGS = -Wall -I$(INCDIR)
```
这样,当你需要更改头文件路径时,只需要修改变量的值即可。在编译时,Make 将会在指定的路径下查找头文件。
另外,如果你要在规则中指定具体的头文件路径,也可以使用该变量来避免硬编码路径。例如:
```
myprogram: src/main.c $(INCDIR)/util.h
gcc $(CFLAGS) -o myprogram src/main.c
```
这样,在 Makefile 中修改路径时,只需要修改 `INCDIR` 变量的值即可。