zoukankan      html  css  js  c++  java
  • Makefile知识点

    1.标准Makefile文件示例如下:

    #把.o .C .cxx .cpp .hxx .h添加到后缀列表中。
    .SUFFIXES: .o .C .cxx .cpp .hxx .h
    
    #设置变量并赋值,方便后面编译链接
    CC= g++ -D_LINUX_ -fpermissive -Wall -Wno-format-y2k
    DEBUG=-g
    C++FLAGS= $(DEBUG) -D_PTHREAD_USE_D4 -D_ORACLE_ -DHISSVR_A -D_OSVer4 -DONE_DAY  -D_EXTENSIONS_ 
    
    LIB_DIR = -L$(HOME)/lib -L$(HOME)/src/lib  -L$(HOME)/service/src/lib
    LIB= -ldl -lpthread -lrtdb_api -ldcisg_dm -lmode_manage -lrte -lservices
    
    INC_DIR = -I./include  -I$(HOME)/src/include
    
    OBJS = maintenance_ticket.o
    
    #.cpp.o是老式的“后缀规则”,编译器将会自动将.cpp识别为源文件后缀,而.o识别为输出文件后缀。特别需要注意的是,后缀规则不允许任何依赖文件,但也不能没有命令。
    #$^表示所有依赖,($<表示第一个依赖)($@表示目标文件).也就是将所有的.cpp文件都生成对应的.o文件。
    .cpp.o:
    	$(CC) $(C++FLAGS)  $(INC_DIR) -c $<
    
    .cxx.o:
    	$(CC) $(C++FLAGS)  $(INC_DIR) -c $<
    
    maintenance_ticket : maintenance_ticket.o
    	$(CC) $(C++FLAGS) $(INC_DIR)  -o maintenance_ticket maintenance_ticket.o $(LIB_DIR) $(LIB)
    
    clean:
    	rm -f $(OBJS)
    
    #伪目标,即使当前存在clean文件对象,也会继续执行这个伪目标。
    .PHONY: clean
    
     



  • 相关阅读:
    程序员学习方法差在哪里
    解析域名
    tomcat下的公共jar包配置
    Ubuntu 16.04 修改状态栏位置
    sqlite3 C语言 API 函数
    vim配置文件
    关于 ioctl 函数
    字符设备基础了解
    Ubuntu14.04搭建Boa服务
    gcc 交叉工具链中工具使用(arm-linux-xxx)
  • 原文地址:https://www.cnblogs.com/linux-wang/p/8142758.html
Copyright © 2011-2022 走看看