GNU make manual 翻译(二十二)

本文介绍了一个使用Makefile变量的简单实例,展示了如何定义和使用变量来简化Makefile的编写,包括目标文件列表的创建及依赖关系的指定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继续翻译

Then, each place we want to put a list of the object file names, we can 
substitute the variable's value by writing `$(objects)' (*note How to
Use Variables: Using Variables.).                        
                        
   Here is how the complete simple makefile looks when you use a 
variable for the object files:                        
                        
     objects = main.o kbd.o command.o display.o \                        
               insert.o search.o files.o utils.o                        
                        
     edit : $(objects)                        
             cc -o edit $(objects)                        
     main.o : main.c defs.h                        
             cc -c main.c                        
     kbd.o : kbd.c defs.h command.h                        
             cc -c kbd.c                        
     command.o : command.c defs.h command.h                        
             cc -c command.c                        
     display.o : display.c defs.h buffer.h                        
             cc -c display.c                        
     insert.o : insert.c defs.h buffer.h                        
             cc -c insert.c                        
     search.o : search.c defs.h buffer.h                        
             cc -c search.c                        
     files.o : files.c defs.h buffer.h command.h                        
             cc -c files.c                        
     utils.o : utils.c defs.h                        
             cc -c utils.c                        
     clean :                        
             rm edit $(objects)                        

然后,在每一个我们想要列举目标文件名称的地方,我们都可以用 $(objects) 来表达

(*note How to Use Variables: Using Variables)

Here is how the complete simple makefile looks when you use a
variable for the object files:

下面是完整而简单的 makefile使用了 上述变量后的样子:

     objects = main.o kbd.o command.o display.o \                
               insert.o search.o files.o utils.o                
                
     edit : $(objects)                
             cc -o edit $(objects)                
     main.o : main.c defs.h                
             cc -c main.c                
     kbd.o : kbd.c defs.h command.h                
             cc -c kbd.c                
     command.o : command.c defs.h command.h                
             cc -c command.c                
     display.o : display.c defs.h buffer.h                
             cc -c display.c                
     insert.o : insert.c defs.h buffer.h                
             cc -c insert.c                
     search.o : search.c defs.h buffer.h                
             cc -c search.c                
     files.o : files.c defs.h buffer.h command.h                
             cc -c files.c                
     utils.o : utils.c defs.h                
             cc -c utils.c                
     clean :                
             rm edit $(objects)

后文待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值