zoukankan      html  css  js  c++  java
  • makefile简单例子

    $@   --目标文件,
    $^    --所有的依赖文件,
    $<    --第一个依赖文件。
    $?   --所有比目标新的依赖目标的集合。以空格分隔。
    -Wl,-rpath --编译目标代码时指定的动态库搜索路径。
    GCC四步曲
    第一步:预处理
    gcc -E hello.c -o hello.i
    第二步:编译
    gcc -S hello.i -o hello.s
    第三步:汇编
    gcc -c hello.s -o hello.o
    第四步:链接
    链接动态库和静态库
    Makefile 简单例子:
    
    #定义生成的目标文件
    CPP = g++
    FLAG += -g -Wall -std=c++11
    
    LIB_PATH+=-L/usr/local/lib 
    LIB_PATH+=-L/usr/local/lib/boost
    
    EXTRA_LIBS=-lpthread -lboost_system
    
    #定义目标文件
    SRC=./src
    
    SOURCE := $(wildcard $(SRC)/*.cpp) $(wildcard $(SRC)/common/*.cpp)
    OBJS := $(patsubst %.cpp,%.o,$(SOURCE))
    
    EXEC=CMS
    
    all:    $(EXEC)
    $(EXEC):$(OBJS)
      $(CPP) $(FLAG) -o $(EXEC) $(OBJS) $(EXTRA_LIBS) $(LIB_PATH)
    
    ######各文件的依赖关系
    .cpp.o:
      $(CPP) $(FLAG) -c -o $@ $<
    
    ######定义依赖关系结束
    clean:
      rm -f ${SRC}/*.o
    
    #g++ -g -Wall -std=c++11 main.cpp epoll_server.cpp -c 
    #g++ main.o epoll_server.o -o -L/usr/local/lib -L/usr/local/lib/boost -lpthread -lboost_system





  • 相关阅读:
    v-date
    文字在图片上
    v-生命周期
    彭博接口分类
    如何指定vim 的查找是从上往下还是从下往上[z]
    查看linux版本
    git web找不到new project解决方法
    比特币运行原理[z]
    [Z]haproxy+keepalived高可用群集
    blockchain good article
  • 原文地址:https://www.cnblogs.com/osbreak/p/13929365.html
Copyright © 2011-2022 走看看