zoukankan      html  css  js  c++  java
  • Makefile 一个简单例子

    //http://wg2009perfect.blog.163.com/blog/static/127997663200992995834510/

    在Linux下写c/c++程序的,一定都会用的,下面是一个比较简单的Makefile文件,也是一个比较通俗的:

    OBJECT = main.o App.o GetPwd.o md5.o TEA.o QQSession.o QQ.o PcapBase.o

    CFLAGS = -g -c -O3

    abc: $(OBJECT)

             g++  $(OBJECT)  -o  abc  -g  -lpcap -licui18n -licuuc

    main.o: main.cpp App.h

             g++ main.cpp $(CFLAGS)

    App.o: App.cpp App.h PcapBase.h Packet.h Common.h QQ.h PktParser.h PcapException.h

             g++ App.cpp  $(CFLAGS)

    GetPwd.o:GetPwd.cpp GetPwd.h Common.h Md5.h TEA.h

             g++ GetPwd.cpp  $(CFLAGS)

    QQSession.o: QQSession.cpp Packet.h GetPwd.h Common.h TEA.h Md5.h unicode/ucnv.h

             g++ QQSession.cpp  $(CFLAGS)

    QQ.o: QQ.cpp Packet.h Md5.h QQSession.h Common.h

             g++ QQ.cpp  $(CFLAGS)

    md5.o: md5.cpp Md5.h

             g++ md5.cpp  $(CFLAGS)

    TEA.o: TEA.cpp TEA.h Common.h

             g++ TEA.cpp  $(CFLAGS)

    PcapBase.o: PcapBase.cpp PcapBase.h PcapException.h

             g++ PcapBase.cpp  $(CFLAGS)

    clean :

             rm *.o

    分析:

    OBJECT = main.o App.o GetPwd.o md5.o TEA.o QQSession.o QQ.o PcapBase.o

    所有.cpp 文件都在生成一个对应的.o文件

    CFLAGS = -g -c -O3

    -g :程序支持调试功能,即用gdb调试;-O3:在编译程序时对程序做优化

    abc: $(OBJECT)

    $(OBJECT) : shell变量,就是前面定义的那一串等同

    g++  $(OBJECT)  -o  abc  -g  -lpcap -licui18n -licuuc

    这一行,-lpcap -licui18n –licuuc  , 一些库的调用,因为后面没有跟路径就是在系统路径下

    接下来的多行,如下的:

    main.o: main.cpp App.h

             g++ main.cpp $(CFLAGS)

    .o文件: .cpp文件 .cpp文件依赖的头文件, 下面就是编译了

    到最后一行:删除所有的.o文件

    clean :

             rm *.o

    这个最简单的给初学者做个入门参考,谢谢支持…

  • 相关阅读:
    显卡关键词
    为照顾IE6尽量不要margin和padding
    如何保证一个类只有一个实例(1)
    显示列表(display list)
    AutoCAD2007与Office2007冲突
    虚函数(1)
    字符串对象的属性
    细读cow.osg
    常量折叠(const folding)与复写传播 (copy propagation)
    .NET Framework 3.5 sp1离线安装
  • 原文地址:https://www.cnblogs.com/cheng07045406/p/3521254.html
Copyright © 2011-2022 走看看