免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2549 | 回复: 6
打印 上一主题 下一主题

哪里有关于makefile的简单介绍? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-02-25 15:35 |只看该作者 |倒序浏览
精华版的看了不懂啊,而且它是关于gcc的,我的是sco上的编译环境。
真不知道怎么下手自己编写,各位是怎么学习的呢?
讨论一下咯。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-02-25 15:40 |只看该作者

哪里有关于makefile的简单介绍?

都差不多的。
找一个makefile试着自己改一改使用。

论坛徽章:
0
3 [报告]
发表于 2004-02-25 15:59 |只看该作者

哪里有关于makefile的简单介绍?

Makefile很简单,记住从最底层往最上层编译。

#
#编译的tag名称你,你可以make all,也可以只敲make,
#缺省只会编译第一个tag的。这行的意思是,如果要编译
#all,那么首先要编译ghicparser。由此make转到红色的部分去执行
#
all:ghicparser   

#
# 下面的东西相当于一个变量
#
OBJ = main.o settings.o utility.o socket.o  log.o  \
                update_set.o daemon.o format.o backend.o  \
                sniffer.o http.o file.o infile.o filter.o outfile.o


#
# 下边的意思是,如果要编译ghicparser,那么就要
#先编译OBJ变量中的东西,也就是上面定义的那些*.o的文件
#注意这里只是用*.o名代替tag名,不用这些名字也成。make
#又转到了蓝色的地方执行
#
ghicparser(OBJ)
        cc -o ghicparser $(OBJ)
        @/bin/echo "Generate ghicparser!"

#
#这才是最底层的编译,根据上一步OBJ变量中的内容
#来编译下面的各个文件。编译成功了转到上一步红色的部分进行具体的编译
#
main.o:main.c
        cc -c -Wall main.c
settings.o:settings.c
        cc -c -Wall settings.c
socket.o:socket.c
        cc -c -Wall socket.c
utility.o:utility.c
        cc -c -Wall utility.c
log.o:log.c
        cc -c -Wall log.c
update_set.o:update_set.c
        cc -c -Wall update_set.c
daemon.o:daemon.c
        cc -c -Wall daemon.c
format.o:format.c
        cc -c -Wall format.c
backend.o:backend.c
        cc -c -Wall backend.c
sniffer.o:sniffer.c
        cc -c -Wall sniffer.c
http.o:http.c
        cc -c -Wall http.c
filter.o:filter.c
        cc -c -Wall filter.c
file.o:file.c
        cc -c -Wall file.c
infile.o:infile.c
        cc -c -Wall infile.c
outfile.outfile.c
        cc -c -Wall outfile.c

clean:
        rm -rf *.o ghicparser

论坛徽章:
0
4 [报告]
发表于 2004-02-25 18:11 |只看该作者

哪里有关于makefile的简单介绍?

ok,thanks,实践出真知啊。

论坛徽章:
0
5 [报告]
发表于 2004-04-22 16:09 |只看该作者

哪里有关于makefile的简单介绍?

all:test
OBJ=test1.o
test(OBJ) cc -o test
test1.o:test1.c
       cc -c -Wall test
clean:
       rm -rf *.o test


error infomation:

Makefile:5: *** missing separator.  Stop.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2004-04-22 19:01 |只看该作者

哪里有关于makefile的简单介绍?

命令的前面要加 TAB。

论坛徽章:
0
7 [报告]
发表于 2004-04-23 05:34 |只看该作者

哪里有关于makefile的简单介绍?

这里有一个关于Automake and Autoconf 的介绍, 非常简单易懂. 搞清了基本内容, 可以在一个别人的项目基础上, 写自己的configure.in及 Makefile.am
这种方法比直接写Makefile要更灵活, 更容易维护.
http://www.murrayc.com/learning/linux/automake/automake.shtml
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP