当前位置: 技术问答>linux和unix
关于makefile寻找源文件的问题
来源: 互联网 发布时间:2016-03-11
本文导语: 以下是我makefile的内容 OBJS = main.o test.o NAMES = main.cpp test.cpp VPATH = ./action vpath = ./:./action INCLUDEDIR = -I./include edit: g++ -c $(NAMES) g++ -o edit $(OBJS) 注意g++前是tab键 其中...
以下是我makefile的内容
OBJS = main.o test.o
NAMES = main.cpp test.cpp
VPATH = ./action
vpath = ./:./action
INCLUDEDIR = -I./include
edit:
g++ -c $(NAMES)
g++ -o edit $(OBJS)
注意g++前是tab键
其中,test.cpp在action 文件夹中,test.h 在include文件夹中
我用VPATH 和 vpath 都不好用 说找不到test.cpp文件
帮帮~~~~~~
OBJS = main.o test.o
NAMES = main.cpp test.cpp
VPATH = ./action
vpath = ./:./action
INCLUDEDIR = -I./include
edit:
g++ -c $(NAMES)
g++ -o edit $(OBJS)
注意g++前是tab键
其中,test.cpp在action 文件夹中,test.h 在include文件夹中
我用VPATH 和 vpath 都不好用 说找不到test.cpp文件
帮帮~~~~~~
|
通过VPATH,vpath找到了文件不会修改rule的,要在rule里面使用的话,需要通过自动变量。如:$^ $@
下面是makefile .我试过的
OBJS = main.o test.o
NAMES = main.cpp test.cpp
VPATH = ./action
vpath %.cpp ./:./action
edit:$(NAMES)
g++ -c -I ./include $^
g++ -o edit $(OBJS)
clean:
rm -f $(OBJS) edit
下面是makefile .我试过的
OBJS = main.o test.o
NAMES = main.cpp test.cpp
VPATH = ./action
vpath %.cpp ./:./action
edit:$(NAMES)
g++ -c -I ./include $^
g++ -o edit $(OBJS)
clean:
rm -f $(OBJS) edit