赛迪网 > IT技术 Linux > Shell命令
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

关于Linux操作系统makefile实例详细解析

发布时间:2008.05.23 06:23     来源:赛迪网    作者:sixth

三个指令:

(1)ifeq : 包含两个参数,被逗号分开,并被括在圆括号内。ifeq与左括号之间要有空格

(2)else

(3)endif : 结束条件语句。

例一:

TARGET=helloworld
CC=gcc
CFLAGS=-Wall -O -g
SRC=$(wildcard *.c)
OBJS=$(patsubst %.c,%.o,$(wildcard *.c))

$(TARGET):$(OBJS)
$(CC) $(CFLAGS) $(OBJS) -o $@
# $(RM) *.o

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

clean:
rm -rf *.o helloworld

例二:

VPATH=
OBJECTS=mmain.o ./pchild/pchild.o
TARGET=mm
CC=cc
all:$(TARGET)
$(TARGET):$(OBJECTS)
$(CC) $(OBJECTS) -o $@
rm -f $(OBJECTS)
mmain.o:mmain.c
$(CC) -c $< -o $@
pchild.o:pchild.c pchild.h
$(CC) -c $^ -o $@

例三:

VPATH=
OBJECTS=mmain.o ./pchild/pchild.o
YESNO=NO
ifeq ($(YESNO),YES)
TARGET=mm
else
TARGET=nn
endif
CC=cc
all:$(TARGET)
$(TARGET):$(OBJECTS)
$(CC) $(OBJECTS) -o $@
rm -f $(OBJECTS)

(责任编辑:云子)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 新手学堂:Linux VI编辑器中的复制与粘贴 (05-22) · 关于Linux操作系统中VI编辑器字符串查找 (05-22)
· Linux内核bootsplash功能的实现方法介绍 (05-22) · 新手学堂:嵌入式Linux系统下时间的实现 (05-22)
· 实用技巧:Linux操作系统驱动编译与运行 (05-22) · 实用技巧:Linux下命令排列、调度与替换 (05-22)
· Linux下malloc/free与new/delete的区别 (05-22) · 诺基亚否认推Linux手机 指责媒体断章取义 (05-22)
· Linux操作系统JDK中文字体设置方法介绍 (05-21) · 如何解决Linux操作系统下时间错误的问题 (05-21)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 移动信息化市场方兴未艾 企业呼唤标准出台
· 如何把握企业价值差异 避免CRM与SCM脱节
· 齐看四大厂商的SaaS动态 ERP案例分析
· 通方期货CRM解决方案 方正电子公文系统
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统