您的位置:首页 > 其它

NetBSD多文件结构Makefile编写

2016-05-07 14:51 190 查看
       作为一个初学者,在BSD的道路上真是磕磕碰碰呀,而且又是学习NetBSD,道路更是艰辛,先把这几天学习的一点关于bsd下Makefile编程使用总结一下,希望以后可以复习使用,也可以给其他朋友一个引导吧。       以具体例子来讲,我的文件结构如下:

从结构图中可以看出,我的当前工程中有两个文件夹CUnit和Test,其中CUnit文件夹里面放的是我的库的源文件,上面的代码都是从sourceforge上面下下来的,在这里只是学习一下如何编译和使用。我们知道CUnit是一个C测试框架,这里我们顺便学习编译下库。Test是我的主函数放的地方,是对测试库的一个测试。我的Makefile文件总共有三个,在CUnit和Test目录里面分别各有一个,在CUnit和Test当前目录下有一个。CUnit和Test当前目录下的Makefile为:SUBDIR += CUnitSUBDIR += Test
.include <bsd.subdir.mk>
在CUnit目录里面的Makefile为:LIB = cunitMAN=.PATH: ./Sources/AutomatedSRCS= Automated.c
.PATH: ./Sources/BasicSRCS+= Basic.c
.PATH: ./Sources/ConsoleSRCS+= Console.c
.PATH: ./Sources/FrameworkSRCS+= CUError.c MyMem.c TestDB.c TestRun.c Util.c
CFLAGS = -g -I ./Headers -I ./Sources -WerrorLINTFLAGS += -g -I. -I ./Headers -I ./Sources
.include <bsd.lib.mk>
在Test目录里面的Makefile目录为:PROG= consoletestSRCS= ConsoleTest.c ExampleTests.cMAN =
CFLAGS = -g -O0 -I ./ -I ../CUnit/Headers -I/usr/pkg/include/ -I. -Werror
LINTFLAGS += -I.LDFLAGS += -L ../CUnit -L/usr/pkg/libLDADD += -Wl -lz -lm -lcunit
.include <bsd.prog.mk>就这样,一个简单的Makefile文件工程就编写好了,由于本人对Makefile认识还不够,使用更是菜鸟,所以只能写到这里。等过段时间水平提升了,就在每个包含.c的目录里面放一个Makefile,这样就很爽了,呵呵。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: