Linux编程学习日之 GNU make-001

    两天前就开始在linux 下编写程序,没有在IDE环境下开发。主要目的就是学习GNU Make 项目管理的编写。

    正好近日去了解socket编程,参考网上教程写了代码。源文件分别为,mysocket.h ,mysocket.cpp client.cpp 以及server.cpp 。我都用g++编译通过的。我学习make的文档是徐海兵同志翻译的GNU make 使用手册。写了我第一个make程序。

    mysocket.o: mysocket.cpp mysocket.h

        g++ -c mysocket.cpp

    client.o: client.cpp mysocket.h

        g++ -c client.cpp

    server.o: server.cpp mysocket.h

        g++ -c server.cpp

    client: client.o mysocket.o

        g++–o client client.o mysocket.o

    server: server.o mysocket.o

        g++ -o server server.o mysocket.o

    clean:

        rm *.o

    Note:终端下,执行make ,默认是执行第一条命令。

    令我不解的地方有,我make mysocket.o ,为啥命令显示 g++ -c –o mysocket.o mysocket.cpp

 

                 

 

    

    第二个地方是:

 

                

 Client的依赖关系,我写的是client.o mysocket.o ,为啥执行的时候只编译了client.cpp .另外我修改了client ,保存后再次执行make client,显示一样的。纵然我改成了client: client.o mysocket.o

    g++ -o client mysocket.o

        PS:若有人看到这篇文章,请为我答疑,当然我也会继续看教程。或许之后会知道更多。推荐一本书《GNU make 项目管理》 .

 

                     

 

 

后记:上诉莫名的错误才来自make的描述文件的命名。make的描述文件应该命名为makefile,Makefile,GNUMakefile

 

        

posted on 2012-03-07 19:55  Jerry Zong  阅读(221)  评论(0编辑  收藏  举报

导航