天嵌 ARM开发社区

 找回密码
 注册
查看: 1940|回复: 3

小白提问:帮我解释下makefile里面几个语句的意思

[复制链接]
billy 发表于 2009-9-12 13:39:11 | 显示全部楼层 |阅读模式
我知道makefile是用来编译的,有点像脚本且可以定义变量,大概格式知道,但下面几句不太懂:
####### Implicit rules

.SUFFIXES: .cpp .cxx .cc .C .c

.cpp.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cxx.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cc.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.C.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

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

####### Build rules


all: $(TARGET)
     cp -f first.desktop $(DESKTOP)
     cp -f first.png $(ICON)

$(TARGET) $(UICDECLS) $(OBJECTS) $(OBJMOC)
        $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)

moc: $(SRCMOC)

tmake: Makefile

Makefile: first.pro
        tmake first.pro -o Makefile

dist:
        $(TAR) first.tar first.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST)
        $(GZIP) first.tar

clean:
        -rm -f $(OBJECTS) $(OBJMOC) $(DESKTOP) $(ICON) $(TARGET)
        -rm -f *~core


我知道的是, 比如
first: first.cpp ..............
就是用后面的源码编译生成前面的first应用程序
但以上Makefile里面 .SUFFIXES: .cpp .cxx .cc .C .c 又是什么意思呢?
还有 all: $(TARGET)
     cp -f first.desktop $(DESKTOP)
     cp -f first.png $(ICON)
是编译出一个叫all的应用程序?
dist:...... 呢?
这些好像都是同一类,只是我没见过,亚瑟王帮帮我~
亚瑟王 发表于 2009-9-16 10:49:06 | 显示全部楼层
建议你百度一下,关键字:makefile的编写即可。网络上有详尽的Makefile编写规则的讲解的。
 楼主| billy 发表于 2009-9-19 19:13:01 | 显示全部楼层
thx 亚瑟王 ~~~~
penganming 发表于 2010-12-11 00:35:30 | 显示全部楼层
太好了,谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-28 03:19 , Processed in 1.028255 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表