博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
makefile编写---单个子目录编译自动变量模板ok
阅读量:7175 次
发布时间:2019-06-29

本文共 1489 字,大约阅读时间需要 4 分钟。

1.自动化变量通配符

2.wildcard 使用

3.srcs=(wildcard:%。o=%。c)说明

4.$(srcs):%.o:%.c说明==$(patsubst %.c,%.o $(wildcard  *.c))==$($(wildcard  *.c):%.c=%.o)

5.规则

6.bug报错

me:

Target  = auto

Cc = gcc

Cflags =  -Wall -O
Lflags = -lpthread
Include = -I
Ar = ar
Libs =

Srcs = $(wildcard *.c)

#$(wildcard,./sub/*.c) qudiao ','
Incs = $(wildcard *.h)
Objects = $(Srcs:%.c=%.o)

.PHONY:clean release install

all: release

print:
  @echo $(Srcs)
  @echo $(Incs)
  @echo $(Objects)
  @echo "why???"
release:$(Target)

$(Target):$(Objects)

 $(Cc)  $^  -o $@
 @echo $@
 @echo "pkf"
$(Objects):%.o:%.c $(Incs)          // this is not need!!!!!
 $(Cc) -c $< -o $@
 @echo $@
 @echo $<
clean:
 -rm *.o
 -rm $(Target)

 

 

 

 

exmple:

==============================================================

Target = TestIni
GCC = gcc
G++ = g++

CInc = $(wildcard *.h)

CSrc = $(wildcard *.c)

Cobjects =$(CSrc:%.c=%.o)

#Cobjects =$(patsubst %.c,%.o,$(CSrc))

release:$(Target)

$(Target): $(Cobjects)

$(GCC) -o $@ $^

 

##################test######################

#CInc += iniparser.h dictionary.h

#CSrc += iniparser.c dictionary.c
#Cobjects += iniparser.o dictionary.o
#CppObejects =
#$(Cobjects):$(Csrc)
# $(GCC) $(CInc) -c $<

#$(Target): iniparser.o dictionary.o

# $(GCC) -o $@ $^
#iniparser.o: iniparser.c
# $(GCC) $(CInc) -c $<
#dictionary.o: dictionary.c
# $(GCC) $(CInc) -c $<

clean:
rm -rf *.o $(Target) *.gch

===================================================

wildcard netdir patsubst

make -f makefile release

转载于:https://www.cnblogs.com/pengkunfan/p/3859517.html

你可能感兴趣的文章
excel 图表
查看>>
Cake
查看>>
java虚拟机:gc内存回收
查看>>
博客迁移公告
查看>>
Oracle使用——PLSQL的中文乱码显示全是问号
查看>>
Validator验证Ajax提交表单的方法
查看>>
自动化测试语言的选择
查看>>
WPF 实现带标题的TextBox
查看>>
OpenGL中如何抗锯齿
查看>>
入坑~
查看>>
Docker,用任何工具链和任何语言来构建任何应用
查看>>
sql中1=1的and和or问题
查看>>
浅复制 深复制
查看>>
C#窗体学习
查看>>
怎样关闭adobe reader的自动更新
查看>>
ROS Twist和Odometry消息类型使用(Python)
查看>>
和我一起打造个简单搜索之IK分词以及拼音分词
查看>>
静态构造函数和静态类
查看>>
我们为什么要设置默认网关
查看>>
Netty实现服务端客户端长连接通讯及心跳检测
查看>>