wildcard 处理全部文件】的更多相关文章

Makefile如果想取得文件夹下全部文件 $(wildcard $(PATH)/*.c) 即可…
1.1在这之前,我们需要了解程序的编译过程 a.预处理:检查语法错误,展开宏,包含头文件等 b.编译:*.c-->*.S c.汇编:*.S-->*.o d.链接:.o +库文件=*.exe 1.2体验在VC下程序的编译 a.先编译,在链接 b.修改了哪个文件,就单独编译此文件,在链接 c.修改了哪个头文件,就单独编译使用该头文件的源文件,在链接 1.3在linux下实现上述要求 2.编写一个测试的Makefile 2.1直接编译链接 gcc -o test a.c b.c 缺点:改变其中一个文…
转:http://blog.csdn.net/langresser_king/article/details/8272736 define all-cpp-files-under$(patsubst ./%,%, \  $(shell cd $(LOCAL_PATH) ; \          find $(1) -name "*.cpp" -and -not -name ".*" -and -not -name "CCEditBoxImplWindow.…
CC = gcc CXX = g++ CFLAGS = -O -DDBG -D_REENTRANT -Wall -DUSE_PTHREAD -pthread LDFLAGS = -ldl -lnsl -lm -lpthread #wildcard 对 c文件进行展开 SRCS = $(wildcard *.c) $(wildcard *.cpp) #去除路径信息 dir=$(notdir $(SRCS)) # 把后缀.c 替换成 .o OBJS = $(patsubst %.c, %.o, $(…
函数名称:加前缀函数—addprefix. 函数功能:为“NAMES…”中的每个文件名称加入前缀“PREFIX”.參数“NAMES…”是空格切割的文件名称序列,将“SUFFIX”加入到此序列的每个文件名称之前. 返回值:以单空格切割的加入了前缀“PREFIX”的文件名称序列. 函数说明: 演示样例: $(addprefix src/,foo bar) 返回值为“src/foo src/bar”. 1.wildcard : 扩展通配符2.notdir : 去除路径3.patsubst :替换通配符…
经常会用写一些小的程序有的是作为测试,但是每次都需要写一些简单的GCC 命令,有的时候移植一些项目中的部分代码到小程序里面进行测试,这个时候GCC 命令并不好些,如果写啦一个比较常用的makefile的模板,然后把文件添加进来,简单的修改一下makefile即可以完成测试任务何乐而不为. 源代码有三个文件,三个文件在同一个目录下面/hellomakehellomake .c: #include "hellofunc.h" #include<stdio.h> #include…
1> 编译一个文件2> 编译多个文件3> 编译多个目录下的文件4> inclue makefile5> 使用规则1>target:depend[tab]cmddepnd:file[tab]cmd举例如下test:main.o[tab]gcc -o test main.omain.o:main.c[tab]gcc -o main.o -c main.c 2>2.1 目标文件依赖多个文件 CC = gcc #INC = -I./include/ #LIBVAR = -…
Makefile中的%标记和系统通配符*的区别在于,*是应用在系统中的,%是应用在这个Makefile文件中的. (本文的测试环境是Windows7下使用MinGW提供的make.exe) 例如,如果你想编译一个文件夹下的所有.c文件,你可能会这样写: %.o:%.c gcc -o $@ $< 但是如果整个文件只有这两行的话,就会出现这样的错误: Make: *** target not found. stop. 要知道原因,我们先来看看另一个makefile的运行过程,例如有Makefile如…
第一章:小试牛刀 #变量赋值 var = value不同于var=value 把var=value写成var = value是一个常见的错误 前者是赋值操作,后者是相等操作 #let命令可以直接执行基本的算数操作 #bc bc是一个用于数学运算的高级工具,这个精密计算器包含了大量的选项 借助bc可以执行浮点数运算并应用一些高级函数 #重定向 >和>>并不相同,尽管这两个操作都可以将文本重定向到文件 前者先清空文件,后者会将内容追加到现有文件的末尾 #位桶(黑洞) /dev/null是一个…
把目录下所有文件都编译的命令. 1 all:$(subst .c,.o,$(wildcard *.c)) 2 3 %.o:%.c 4 gcc -o $@ $< 下面是几个特舒符号的意思: $@:目标的名字 $^:构造所需文件列表所有所有文件的名字 $<:构造所需文件列表的第一个文件的名字 $?:构造所需文件列表中更新过的文件 例如: 1 test1.o:test1.c 2 gcc -o $@ $< $@:就是test1.o $<:就是test1.c 1 test1.o:test1.…