zoukankan      html  css  js  c++  java
  • linux 一个超简单的makefile

    makefile 自动化变量:
     
    $@ : 规则的目标文件名
     例如:main:main.o test.o
                       g++ -Wall -g  main.o test.o -o main 
     可以写成:
               main:main.o test.o
                       g++ -Wall -g  main.o test.o -o $@ 
     
    $< : 规则的第一个依赖文件名
      例如:main.o: main.cpp 
                       g++ -Wall -g -c main.cpp -o main.o
      可以写成:
                 main.o: main.cpp 
                       g++ -Wall -g -c $< -o main.o
     
    $^ : 规则的所有依赖文件列表。
      例如:test.o:test.cpp test.h
                        g++ -Wall -g -c test.cpp test.h -o test.o
      可以写成:
                 test.o:test.cpp test.h
                        g++ -Wall -g -c $^ -o test.o
     
     //程序文件包括main.cpp test.cpp test.h
      .PHONY:clean
      XX=g++
      exe=dididididididididi
      obj=main.o test.o
      $(exe):$(obj)
              $(XX) -pthread -Wall -g -o $(exe) $(obj)
      main.o:main.cpp test.h
              $(XX) -c main.cpp -o main.o
      test.o:test.cpp test.h
             $(XX) -c test.cpp -o test.o
     clean:
             rm -f *.o $(exe)
  • 相关阅读:
    jquery中ajax请求的使用和四个步骤示例
    jzoj6094
    2019.03.27【GDOI2019】模拟 T3
    AGC019F
    浅谈高维前缀和
    刷题清单
    为什么要遍历两次?——个人对于kosaraju算法的理解
    我的黑客和渗透测试学习路线
    一个假猪套神器:NET CAT-NC
    kali linux(二):使用与介绍
  • 原文地址:https://www.cnblogs.com/Ph-one/p/6764916.html
Copyright © 2011-2022 走看看