https://wenku.baidu.com/view/b1ec946027d3240c8447ef9a.html

GNU+make中文手册V3.8

<=========From Docs==============>

一般我们可以使用“$(wildcard *.c)”来获取工作目录下的所有的.c 文件列表。复
杂一些用法;可以使用“$(patsubst %.c,%.o,$(wildcard *.c))”,首先使用“wildcard”
函数获取工作目录下的.c 文件列表;之后将列表中所有文件名的后缀.c 替换为.o。这样
我们就可以得到在当前目录可生成的.o 文件列表。因此在一个目录下可以使用如下内
容的 Makefile 来将工作目录下的所有的.c 文件进行编译并最后连接成为一个可执行文
件:
#sample Makefile
objects := $(patsubst %.c,%.o,$(wildcard *.c))
foo : $(objects)
cc -o foo $(objects)
这里我们使用了make的隐含规则来编译.c的源文件。对变量的赋值也用到了一个
特殊的符号(:=)。关于变量定义可参考 6.2 两种变量定义 一节。函数“patsubst”可
参考 8.2 文本处理函数 一节

<--------------My Example ------>

#Settings for Ubuntu
CC=arm-none-eabi-gcc
LINK=arm-none-eabi-ar
TARGET=libSample-linaro.a
CCFLAG=-Dxxx=1 -DHHH  -I ./

#Start Test!

allobjects := $(patsubst %.c,%.o,$(wildcard *.c))
$(TARGET): $(allobjects)
    $(LINK) rcs $(TARGET) $(allobjects)

$(allobjects): %.o:%.c
    $(CC) $(CCFLAG) -o $@ -c $<

clear:  
    rm -rf $(TARGET)
    rm -rf $(allobjects)

#end Test

Write a makefile to compile *.c and link to executable target的更多相关文章

  1. directive(指令里的)的compile,pre-link,post-link,link,transclude

    The nitty-gritty of compile and link functions inside AngularJS directives  The nitty-gritty of comp ...

  2. Angular1.x directive(指令里的)的compile,pre-link,post-link,link,transclude

    The nitty-gritty of compile and link functions inside AngularJS directives  The nitty-gritty of comp ...

  3. My first makefile to compile multiple C files

    I have three files to compile: main.c, func.c,  func.h The steps: 1   main.c   to   main.o 2   func. ...

  4. 并发编程的模型分类(转载于https://link.zhihu.com/?target=http%3A//www.54tianzhisheng.cn/2018/02/28/Java-Memory-Model/)强烈推荐!

    在并发编程需要处理的两个关键问题是:线程之间如何通信 和 线程之间如何同步. 通信 通信 是指线程之间以何种机制来交换信息.在命令式编程中,线程之间的通信机制有两种:共享内存 和 消息传递. 在共享内 ...

  5. 【转载】AngularJs 指令directive之controller,link,compile

    关于自定义指令的命名,你可以随便怎么起名字都行,官方是推荐用[命名空间-指令名称]这样的方式,像ng-controller.不过你可千万不要用 ng-前缀了,防止与系统自带的指令重名.另外一个需知道的 ...

  6. 必须正确理解的---ng指令中的compile与link函数解析

    这个绝对是深入的知识,但看完之后,对NG的理解就很利害啦. http://www.ifeenan.com/angularjs/2014-09-04-%5B%E8%AF%91%5DNG%E6%8C%87 ...

  7. angularjs指令中的compile与link函数详解(转)

    http://www.jb51.net/article/58229.htm 通常大家在使用ng中的指令的时候,用的链接函数最多的是link属性,下面这篇文章将告诉大家complie,pre-link, ...

  8. 【转】angularjs指令中的compile与link函数详解

    这篇文章主要介绍了angularjs指令中的compile与link函数详解,本文同时诉大家complie,pre-link,post-link的用法与区别等内容,需要的朋友可以参考下   通常大家在 ...

  9. angularjs指令中的compile与link函数详解

    这篇文章主要介绍了angularjs指令中的compile与link函数详解,本文同时诉大家complie,pre-link,post-link的用法与区别等内容,需要的朋友可以参考下   通常大家在 ...

随机推荐

  1. ansible基本模块-server

    ansible   XXX   -m   service   -a  "name=XXX   state=started   enabled=yes"

  2. 如何在JAVA中每隔一段时间执行一段程序

    可以用线程来做,每隔几秒开一个线程代码如下 public void runTask() { final long timeInterval = 120000;// 两分钟运行一次 final Thre ...

  3. 老男孩python作业2-购物车程序

    购物车程序要求: 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 ...

  4. pyc和pycodeobject

    Python是一个先编译再解释的语言. 执行过程:先寻找pyc文件,找到则载入,没找到则把编译的结果保存在pycodeobject中,运行结束则写到pyc文件中

  5. POJ - 1061 扩展gcd

    题意:求\((n-m)t+Lk=x-y\)的解\(t\) #include<iostream> #include<algorithm> #include<cstdio&g ...

  6. UESTC - 1607 ad-hoc

    #include<bits/stdc++.h> #define rep(i,j,k) for(register int i=j;i<=k;i++) using namespace s ...

  7. python学习13-类的约束 异常处理 日志

    一 .约束 python中约束有两种 第一种,通过抛异常进行约束,这种是子类不按我要求的来,我就给你抛异常(推荐) 操作:提取一个父类. 在父类中给出一个方法.但在方法中不给出任何代码,直接抛异常 # ...

  8. s-2、charles 入门

    本文的内容主要包括: Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPhone 上的网络封包 截取 Https ...

  9. [ElasticSearch] 如何使用中文分詞ik與繁簡轉換stconvert插件

    一. 環境安裝 ElasticSearch(以下簡稱ES)安裝已經算相對簡單了, 但要使用需要配置的插件, 對剛入門的新手還是有點麻煩, 所幸medcl大神提供一個配置好的ES-rtf版本, 新手們在 ...

  10. jqgrid 增删改页面快速构建

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InvitationRout ...