如下的目录结构,编写Makefile:
(https://img-blog.youkuaiyun.com/20161230224042409?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYm95a2Ff/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
分析:这是一个客户端和服务器组成的数据库目录结构,我们需要在这个工程的顶层目录下生成客户端和服务器的app如上图中所示(client_app和server_app)。各自的源码都在对应的目录的名字下:
目录--------------文件
client client.c Makefile
server server.c Makefile
mydatabase mydatabase.c Makefile
rawlist list.c Makefile
userlist userlist.c Makefile
include debug.h list,h mydatabase.h userlist.h
obj Makefile client.o server.o mydatabase.o rawlist.o userlist.o
通过上面的目录结构我们可以知道,每个文件夹都有扮演着自己的角色。而且都有自己的Makefile,顶层目录下的Makefile管理着整个工程的主要编译路线,它会调用相关的子目录下的Makefile。而整个工程又由各个子目录的“.c”文件生成,所以我们要进入对应的子目录中将“.c” 文件编译成“.o”文件,又由于工程的规范,我们可以将生所有成的“.o”文件归类到obj文件夹下,再将对应的“.o“文件连接成我们的最终目标。好吧,,明天再来实现所有的Makefile哦,拜拜~~