关于Linux操作系统makefile实例详细解析
三个指令:
(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 {GetProperty(Content)}lt; -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 {GetProperty(Content)}lt; -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桌面使用Windows的文档
css 网页虚线制作方法剖析
ASP.NET在IIS一些问题经验总结
在asp.NET 中使用SMTP发送邮件的实现代码
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
基于jQuery的message插件实现右下角弹出消息框
解析CSS设置默认字体样式
jquery select(列表)的操作(取值/赋值)
css 完美清除浮动的两种解决方案
在mysql数据库原有字段后增加新内容
丰富web应用的大势掀起:期待HTML5的降临
从Oracle的FORM中调用REPORT
ASP.NET 导出到Excel时保留换行的代码
VBS教程:属性-VolumeName 属性