linux下 一个项目(源文件位于多个文件夹或者子文件夹),怎么编写makefile文件?满意高分!

如题 !是自己手工编写还是用autotools 还是qmake 那个比较快捷方便 ?尽量说详细点,谢谢!满意高分!

# Copyright (c) 2006 Unihz Technologies Co., LTD.
# Author: Raymond S. <zhonghuashe@unihz.com>

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/
拿这个去该改吧,比较通用的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-26
手工编写会写死你的。
用autotools,qmake是QT的一个工具,也能生成makefile,不过,你不开发QT程序,就用不上qmake。
其实autotools也不好用。如果你不开发QT程序,建议你用kdevelop这个开发工具,它可以自动生成makefile(它是自动调用autotools来生成makefile)。追问

kdevelop? 没听说过 要在linux下安装吗? 能较详细的说下这个工具吗?

第2个回答  2011-08-26
没弄过,我记得 qmake 是 qt 的一个集成工具,如果你的项目是 qt 开发的(QT 有自己的开发环境,貌似不用 QT 库也可以用它开发),那么这个 IDE 我记得有工具可以帮助生成 qmake 的脚本。autotools 其实也是自动生成的,但似乎需要自己设置后才能实现。他们两个其实都是辅助你生成 Makefile 的东西。自己写 Makefile 理论上也可以,不过你的项目要是编译工作量很大,那么这东西直接可以让你晕死。也就是编译工作量不大的时候自己写那么几行就能搞定的前提下还是可以考虑的。
第3个回答  2011-08-26
可以把这些源文件放在一个目录里,再make,

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网