多个目录的makefile
㈠ makefile中,当用-L 或者-I指定路径时,如果需要用到多个路径,是需要每个路径都需要一个-L或者-I还是可以
如果需要用到多个路径时,是每个路径都需要一个-L或者-I选项,每个-L或者-I选项后面分内别跟一个路径,各个-L或者-I选项容加路径,之间用空格分割。比如:-L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk
㈡ 怎么编写多个文件 夹 下的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结构,分析在工程多级目录中存在多个makefile文件时编译的顺序如
如下这个例子(3个子目录, 一个Makefile), 子目录的编译顺序由这个Makefile控制.
sub_a sub_b sub_c Makefile
㈤ 请教多文件夹makefile问题
一般来讲,一个项目会有多个模块,源文件分别放在不同的目录文件夹中。
这时候,Makefile就需要遍历不同目录下的C程序源文件,然后分别编译成目标文件、然后再链接成可执行程序。
更深入的教程,可以参考Makefile工程实践视频教程,里面对源文件、目标文件、库分别使用目录进行管理,存放在不同的文件目录下,如何编写Makefile实现上面的目的。
㈥ 多级目录中存在多个makefile时,编译的顺序如何
一般来说,如果存在多级目录,那么再用makefile的时候,最好在每个目录下也写一个简单的子内makefile,这样在总容目录下写一个总的makefile,然后再总的makefile中调用子makefile,这样写起来就会比较清晰,编译顺序是要看你的总makefile中的步骤。
另外,如果你写好之后,你也可以make -n一下,这样也就可以看出make的编译顺序了!
也是刚开始学习makefile,共勉!
㈦ 如何为多目录源文件建立makefile
c文件在来不同目录的情况自makefile怎么写
假设有下面几个c++文件:
wherewhen.h
wherewhen.c
countdown.h
countdown.c
包含了math.h,
需要连接库文件
main.c
主函数,
main.c
包含了两个头文件
wherewhen.h
and
countdown.h
㈧ linux 一个目录可以有几个Makefile假如可以有多个,应该如何做
就如你说的这么弄……不过不加 -f xxxx 就是用默认的 Makefile。你写的 make Makefile 会让 make 去执行默认 makefile 里面的 Makefile 段落的东西……
很多软件都是这么实现的多 makefile 区别使用。
不过,这技术含量有点低……为什么不去根据需要写一个 configure 来生成 makefile ?
而且好像似乎 configure 和 makefile 都有软件可以帮你生成……
㈨ linux下 一个项目(源文件位于多个文件夹或者子文件夹),怎么编写makefile文件满意高分!
# Copyright (c) 2006 Unihz Technologies Co., LTD.
# Author: Raymond S. <[email protected]>
PROGRAM := write # 最后的可执行文件
SOURCES := $(wildcard *.cpp) #通配当前目录下说有的.cpp文件
#SOURCES += $(wildcard src/*.cpp)
OBJS := $(patsubst %.cpp,%.o,$(SOURCES)) #把$(SOURCES)中的变量符合后缀是.cpp的全部替换成.o,
CC := gcc
#CFLAGS := -c -ggdb -Wall -DBUILD_TIME="\"`date`\"" -DDEBUG
CFLAGS :=
#INCLUDE := -I ../unihz -I ../config -I traffic_light
INCLUDE :=
#LIB := ../unihz/libunihz.a ../config/libconfig.a -lpthread
LIB := #库文件
.PHONY: clean install
$(PROGRAM): $(OBJS)
$(CC) -o $@ $^ $(LIB)
%.o: %.cpp
$(CC) -c $^ $(CFLAGS) $(INCLUDE) # $@:当前规则的目的文件名, $<:依靠列表中的第 一个依靠文件,而 $^:整个依靠的列表(除掉了里面所有重复的文件名)。
clean:
rm *.o src/*.o $(PROGRAM) -f
install: $(PROGRAM)
cp $(PROGRAM) ./bin/
拿这个去该改吧,比较通用的
㈩ makefile调用文件来自多路径如何写,希望具体一点,谢谢诶
你可复以使用vpath变量制,详见:http://hi..com/msingle/blog/item/c44f6a38e69fc0ffb211c799.html
例如:
{{{class="makefile"
vpath %.c src/3rdparty:src:src/main
}}}
意思是,从3个目录“src/3rdparty","src"以及"src/main"中搜索源文件%.c格式的。