makefile多个文件夹
A. 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/
拿这个去该改吧,比较通用的
B. linux 一个目录可以有几个Makefile假如可以有多个,应该如何做
make(前提是使用Linux的make)按照默认的所搜方式查找makefile,首先是GNUmakefile,然后是makefile,最后是Makefile,如果要指定一个不符合上述所有命名规则的文件作为makefile,那么要使用参数-f,如你所说的Make_hello可以这样使用:make -f Make_hello。
C. 如何为多目录源文件建立makefile
c文件在不同目录的情况makefile怎么写
假设有下面几个c++文件:
wherewhen.h
wherewhen.c
countdown.h
countdown.c
包含了math.h,
需要连接库文件
main.c
主函数,
main.c
包含了两个头文件
wherewhen.h
and
countdown.h
D. makefile怎么编绎不同文件夹的.c和.h
有两种方法:一是你修改系统头文件的文件夹路径和你的源文件夹路径。二是你将两个文件复制到系统指定的文件夹中即可。
你用的是Turbo C吗?如果是,见下图。如果不是,可以参考着去做。
第四行是源文件所在目录,你可以根据实际情况修改。
E. 怎么通过makefile生成多个可执行文件
all:main1 main2
main1:
gcc -o main1 main1.o
main1.o:main1.c
gcc -c main1.o main1.c
main2:
gcc -o main2 main2.o
main2.o:main2.c
gcc -c main2.o main2.c
最后生成main1 ,main2 2个可执行文件,答案还满意吗?
F. 如何用makefile编译多个c文件
假设有下面几个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
G. 请教多文件夹makefile问题
一般来讲,一个项目会有多个模块,源文件分别放在不同的目录文件夹中。
这时候,Makefile就需要遍历不同目录下的C程序源文件,然后分别编译成目标文件、然后再链接成可执行程序。
更深入的教程,可以参考Makefile工程实践视频教程,里面对源文件、目标文件、库分别使用目录进行管理,存放在不同的文件目录下,如何编写Makefile实现上面的目的。
H. 一个文件夹里有两个makefile文件,一个makefile1和makefile,make执行哪个
makefile 被默认执行。
要执行makefile1,需要用下面这个命令
make -f makefile1