• makefile基础


    #第一阶段:了解三要素
    #(目标):依赖条件
    #(命令)
    #all:add.c sub.c mul.c dev.c main.c
    #    gcc add.c sub.c mul.c dev.c main.c -o app
    
    
    #第二阶段:了解工作原理。自顶向下建立依赖,自下向上执行命令
    #app:add.o sub.o mul.o dev.o main.o
    #    gcc add.o sub.o mul.o dev.o main.o -o app
    #add.o:add.c
    #sub.o:sub.c
    #mul.o:mul.c
    #dev.o:dev.c
    #main.o:main.c
    
    #第三阶段:增强通用型,可移植性 (makefile特殊变量与变量的定义使用)
    #  $@(目标)  $^(所有依赖)  $<(依赖中的第一个)
    #VAR=$(wildcard *.c)
    #OBJ=$(patsubst %.c,%.o,$(VAR))
    #TARGET=app
    
    #$(TARGET):*.o
    #    gcc $(VAR) -o $@
    #%.o:%.c
    #.PHONY:clean
    #clean:
    #    -rm -f *.o     
    #    -rm -f app
    
    #text:
    #    @echo $(VAR)
    #    @echo $(OBJ)
    
    
    #第四阶段Makefile
    CC=arm-linux-gcc                    #编译器
    CFLAGS=-c -g -Wall        #编译参数
    CPPFLAGS=-E -D            #预处理参数
    LDFLAGS=-L./lib -lmycal   #加载库,库名
    SRC=$(wildcard *.c)    
    OBJ=$(patsubst %.c,%.o,$(SRC))
    TARGET=app
    version=1.01
    
    $(TARGET):$(OBJ)
        $(CC) $(OBJ) -o $@
    %.o:%.c
        $(CC)  $(CFLAGS) $<
    
    .PHONY:clean
    clean:
        -rm -f *.o     
        -rm -f app
    distclean:
        rm /usr/bin/$(TARGET)
    install:
        sudo cp $(TARGET) /usr/bin
    text:
        @echo $(SRC)
        @echo $(OBJ)
  • 相关阅读:
    [OC] UITabBarController
    ARC forbids explicit message send of release
    ios opensource YiYuanGou
    js添加创建节点和合并节点
    js数组反转
    JQuery中$.ajax()方法参数详解
    js按钮点击展开收起
    window.location.hash属性介绍
    js获取节点
    查询网址字符串参数用数组输出
  • 原文地址:https://www.cnblogs.com/13224ACMer/p/6389954.html
Copyright © 2020-2023  润新知