zoukankan      html  css  js  c++  java
  • 转:简单通用的一则makefile .

    在linux下面下写程序少不了写makefile,如果每个文件都按部就班的详细的写编译脚本,效率势必低下;makefile提供了自动化变量、模式规则等,稍加利用可以提高写makefile的效率。下面列举一个简单通用的makefile书写规则:
     
    SRCS = $(wildcard *.c)
    OBJS = $(SRCS:.c = .o)
    CC = gcc
    INCLUDES = -I/usr/your_path/include
    LIBS = -L/usr/your_path/lib
    CCFLAGS = -g -Wall -O0

    yourApp : $(OBJS)
     $(CC) $^ -o $@ $(INCLUDES) $(LIBS)

    %.o : %.c
     $(CC) -c $< $(CCFLAGS)

    clean:
     rm -rf OBJS

    L1:$(wildcard *.c)将把当前目录下面的下面的以.c结尾的文件名展开,即SRCS这个变量的值就是这个当前目录下面的所有.c文件的文件名所组成的串,文件名间用空格分割;

    L2:.c替换为.o后的串;

    L3——L6:变量的定义;

    L9:$^——依赖目标的集合,$@——编译目标;

    L12:$<——依赖目标的第一个目标名;如果目标以模式定义的,则将是一个一个取出来的目标集合;

  • 相关阅读:
    php7.4 降级 php7.1 的坑
    python 记录网页 生成pdf
    Mac 安装常用软件环境
    python 2.7 操作 excel
    007整数反转
    006Z字形变换
    005最长回文子串
    004寻找两个正序数组的中位数
    003无重复字符的最长子串
    002两数相加
  • 原文地址:https://www.cnblogs.com/skyofbitbit/p/3673672.html
Copyright © 2011-2022 走看看