makefile目录
⑴ linux Makefile 如果写最顶层的Makefile,可以让它执行各个子目录的Makefile
就如你说的这么弄……不过不加 -f xxxx 就是用默认的 Makefile。你写的 make Makefile 会让 make 去执行默认 makefile 里面的专 Makefile 段落的东西……
很多软属件都是这么实现的多 makefile 区别使用。
不过,这技术含量有点低……为什么不去根据需要写一个 configure 来生成 makefile ?
而且好像似乎 configure 和 makefile 都有软件可以帮你生成……
⑵ makefile中怎么设置头文件的路径在线等
你源代码抄包含头文件的方式也袭要和你的CFLAGS的路径配合,举例:
1 源文件:#include <pcl/point_types.h> makefile: -I/test/ROS/ros/fuerte/include/
2 源文件:#include <point_types.h> makefile: -I/test/ROS/ros/fuerte/include/pcl
估计你源文件是1的情况,makefile又是2的情况,所一出问题了。
⑶ 如何在Makefile文件中判断目录是否存在
1. 调用shell的函数进行判断
exist = $(shell if [ -f $(FILE) ]; then echo "exist"; else echo "notexist"; fi;)
ifeq (exist, "exist")
#do something here
endif当然,这个方法很土,但是能够工作!!
2. 使用makefile的函数专进行判断ifeq ($(FILE), $(wildcard $(FILE)))
#do something here
endif $(wildcard $(FILE))的意思属是当前路径下的文件名匹配FILE的文件展开。假设当前路径下存在a.c 和 b.c,那么执行src=$(wildcard *.c)
src的值就为a.c b.c;如果不使用通配符,比如src=$(wildcard c.c);那么就是要展开当前路径下,文件名为c.c的文件,因为当前路径下文件不存在,因此src为空字符串。
⑷ makefile /是指示哪个目录
源码的顶层目录
⑸ c文件在不同目录的情况makefile怎么写
c文件在复不同目录的情况makefile怎么写
假设制有下面几个c++文件:
wherewhen.h wherewhen.c
countdown.h countdown.c 包含了math.h, 需要连接库文件
main.c 主函数, main.c 包含了两个头文件 wherewhen.h and countdown.h
1、第一种编译方法:
g++ -Wall -g wherewhen.c countdown.c main.c -lm -o myprogram
生成可执行文件myprogram
2、第二中编译方法, 分别编译各个文件:
g++ -Wall -g -c wherewhen.c
g++ -Wall -g -c countdown.c
g++ -Wall -g -c main.c
g++ -g wherewhen.o countdown.o main.o -lm -o myprogram
⑹ linux 一个目录可以有几个Makefile假如可以有多个,应该如何做
就如你说的这么弄……不过不加 -f xxxx 就是用默认的 Makefile。你写的 make Makefile 会让 make 去执行默认 makefile 里面的 Makefile 段落的东西……
很多软件都是这么实现的多 makefile 区别使用。
不过,这技术含量有点低……为什么不去根据需要写一个 configure 来生成 makefile ?
而且好像似乎 configure 和 makefile 都有软件可以帮你生成……
⑺ 如何在makefile中指定头文件目录
1、首先在目录HelloMakefile下,创建测试文件main.c。
⑻ makefile文件怎么能将位于不同目录下 的文件一起编译
test.h不存在是抄因为你没有给指定袭test.h的路径,因为没有指定的话头文件搜索会以这个顺序
1,当前目录
2,系统目录
所以 你现在有两个办法
1,在包含头文件的时候 以当前目录开始
也就是说你需要把这里#include "test.h" 改成#include "./math/test.h"
2,在makefile中用 -I来指定搜索目录
比如makefile中这样写 gcc -I ./math ......其他乱七八糟参数