没有合适的资源?快使用搜索试试~ 我知道了~
C、C++_通用Makefile1
需积分: 0 0 下载量 53 浏览量
2022-08-04
15:51:29
上传
评论
收藏 157KB PDF 举报
温馨提示
试读
20页
因此,即便是一个没有学习过 Makefile 书写规则的人,也可以为自己的 C/C++ 程序快速建立一个可工作的 Makefile。此 Makefile 的使用
资源详情
资源评论
资源推荐
C/C++ 通用 Makefile
◆
C/C++ 通用 Makefile
Generic Makefile for C/C++ Program
========================================
==========
Keywords: Makefile, make, Generic, C/C++
Author: whyglinux (whyglinux AT hotmail DOT com)
Date: 2006-03-04
========================================
==========
本文提供了一个用于对 C/C++ 程序进行编译和连接
以产生可执行程序的通用 Makefile。
在使用 Makefile 之前,只需对它进行一些简单的设
置即可;而且一经设置,即使以后对源程序文件有所
增减一般也不再需要改动 Makefile。因此,即便是一
个没有学习过 Makefile 书写规则的人,也可以为自
己的 C/C++ 程序快速建立一个可工作的 Makefile。
这个 Makefile 可以在 GNU Make 和 GCC 编译器
下正常工作。但是不能保证对于其它版本的 Make 和
编译器也能正常工作。
如果你发现了本文中的错误,或者对本文有什么感想
或建议,可通过 whyglinux AT hotmail DOT com 邮箱
和作者联系。
此 Makefile 的使用方法如下:
• 程序目录的组织
尽量将自己的源程序集中在一个目录中,并且把
Makefile 和源程序放在一起,这样用起来比较方
便。当然,也可以将源程序分类存放在不同的目录
中。
在程序目录中创建一个名为 Makefile 的文本文
件,将后面列出的 Makefile 的内容复制到这个文
件中。(注意:在复制的过程中,Makfile 中各命令
前面的 Tab 字符有可能被转换成若干个空格。这种
情况下需要把 Makefile 命令前面的这些空格替换
为一个 Tab。)
将当前工作目录切换到 Makefile 所在的目录。目
前,这个 Makefile 只支持在当前目录中的调用,
不支持当前目录和 Makefile 所在的路径不是同一
目录的情况。
• 指定可执行文件
程序编译和连接成功后产生的可执行文件在
Makefile 中的 PROGRAM 变量中设定。这一项不
能为空。为自己程序的可执行文件起一个有意义的
名子吧。
指定源程序
要编译的源程序由其所在的路径和文件的扩展名两项
来确定。由于头文件是通过包含来使用的,所以在这
里说的源程序不应包含头文件。
程序所在的路径在 SRCDIRS 中设定。如果源程序分
布在不同的目录中,那么需要在 SRCDIRS 中一一指
定,并且路径名之间用空格分隔。
在 SRCEXTS 中指定程序中使用的文件类型。C/C++
程序的扩展名一般有比较固定的几种形
式:.c、.C、.cc、.cpp、.CPP、.c++、.cp、或者.cxx(参
见 man gcc)。扩展名决定了程序是 C 还是 C++ 程
序:.c 是 C 程序,其它扩展名表示 C++ 程序。一
般固定使用其中的一种扩展名即可。但是也有可能需
要使用多种扩展名,这可以在 SOURCE_EXT 中一一
指定,各个扩展名之间用空格分隔。
虽然并不常用,但是 C 程序也可以被作为 C++ 程序
编译。这可以通过在 Makefile 中设置 CC = $(CXX)
和 CFLAGS = $(CXXFLAGS) 两项即可实现。
这个 Makefile 支持 C、C++ 以及 C/C++ 混合三种
编译方式:
o 如果只指定 .c 扩展名,那么这是一个 C 程
序,用 $(CC) 表示的编译命令进行编译和连
接。
o 如果指定的是除 .c 之外的其它扩展名(如
.cc、.cpp、.cxx 等),那么这是一个 C++ 程
序,用 $(CXX) 进行编译和连接。
o 如果既指定了 .c,又指定了其它 C++ 扩展
名,那么这是 C/C++ 混合程序,将用 $(CC)
编译其中的 C 程序,用 $(CXX) 编译其中的
剩余19页未读,继续阅读
优游的鱼
- 粉丝: 71
- 资源: 316
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0