如果每个文件我们都要写句gcc ....这样的语句显得麻烦了许多。现在我们引入了GNUstep的GNUmakefile文件
我们可以在GNUmakefile定义好我们要编译的文件 然后执行make语句后,那么就会自动为你编译了你首写的程
序了
1、上一篇我们新建了hello的文件夹,并在这个文件夹里面我们创建了hello.m的文件
2、现在我们也在hello的文件夹里面创建GNUmakefile(注:只能定义这个文件名,不能用其他的名字来命名)
3、在这个GNUmakefile文件里面添加下面这些语句:
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = Tst
Tst_OBJC_FILES = hello.m
include $(GNUSTEP_MAKEFILES)/tool.make
然后在控制台中进入到这个hello文件夹里面
4、执行 make 指令
5、在当前的文件夹里面出现了obj的文件夹中的Tst.exe就是我们要的可执行文件了。
6、如果你要让生成的不是Tst.exe而是Test.exe的话 那么就只要改TOOL_NAME =Test当然了你也要改
Tst_OBJC_FILES 这个字符串的前缀Tst换成Test
7、结果为:
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = Test
Test_OBJC_FILES = hello.m
include $(GNUSTEP_MAKEFILES)/tool.make
8、好了两种编译方式就这样完成了!!!
分享到:
相关推荐
#### 第三章:Makefile总述 - **3.1 Makefile的内容**:详细讨论了Makefile文件中包含的各种元素,如变量、规则、命令等。 - **3.2 makefile文件的命名**:通常命名为`Makefile`或`makefile`,但也可以使用其他名称...
- 在构建过程中,首先要创建一个项目目录结构,然后编写Makefile.am文件,使用Autoconf和Automake生成Makefile.in,最后执行configure脚本和make命令来编译程序。 7. 构建系统的常用命令: - make:执行Makefile...
标题 "helloworld.rar" 暗示我们正在处理一个压缩文件,它可能包含了一个简单的“Hello, World”程序,这是初学者在学习编程时经常遇到的第一个示例。这个压缩包包含两个文件:`GNUmakefile` 和 `helloworld.m`。...
默认情况下,`make` 会搜索当前目录下的 `GNUmakefile`、`makefile` 和 `Makefile` 文件,优先选择第一个找到的进行执行。 总结来说,预处理器、编译器、汇编器和链接器协同工作,将人类可读的源代码转换为机器可...
其中,configure是配置脚本,config.log是配置日志,config.status是配置状态,contrib/是第三方贡献的插件源码,doc/是文档,GNUmakefile和GNUmakefile.in是Makefile,HISTORY是版本变更的历史记录,INSTALL是安装...
这个 Makefile 定义了两个规则:第一个规则将 hello.o 文件编译成 hello 可执行文件,第二个规则将 hello.c 文件编译成 hello.o 文件。 五、make 是如何工作的 make 工具会读取 Makefile,并根据规则生成目标文件...
实验内容主要包括综合运用Makefile的各项功能和技术来完成一个包含多个源文件的程序的编译工作。这不仅要求学生理解Makefile的基本结构和语法规则,还需要他们能够灵活地使用各种Makefile特性来优化编译流程。 ####...
在编译过程中,编译器检测程序的语法和函数、变量是否被声明。如果所有语法正确,编译器将生成中间目标文件(Object File)。在链接过程中,链接器将多个中间目标文件合成一个可执行文件。 1.2 Makefile 文件的指定...
make会在当前目录下按顺序查找`GNUmakefile`、`makefile`和`Makefile`,并优先使用找到的第一个。 掌握以上内容,开发者可以编写出符合项目需求的Makefile,实现自动化构建流程,简化开发过程中繁琐的编译和链接...
3. **简单的示例**: 例如,创建一个简单的 Makefile 文件来编译 C 语言程序。 ```makefile all: hello hello: hello.c gcc -o hello hello.c clean: rm -f hello ``` 4. **make 如何工作**: - 读取 ...
然后,输入以下命令来编译程序: ```sh avr-gcc -mmcu=at90s2313 -c demo1.c ``` 这里的`-mmcu=at90s2313`指定了目标MCU型号,`-c`表示只进行编译,不进行链接。编译成功后,会在当前目录生成名为`demo1.o`的目标...
Makefile 是一种用于自动化构建项目的文本文件,它定义了项目的构建规则,使得开发者可以通过简单的命令(通常是 `make`)快速地编译、链接和执行程序。Makefile 通常包含一系列的目标文件(如可执行文件或库)与其...
**GNU Make** 是一个用于构建项目的工具,它通过读取文件(称为 **Makefile** 或 **makefile**)来确定如何更新一组输出文件(通常是可执行程序或库)从一系列输入文件(通常是源代码文件)构建而成。 ##### 1.1 ...
#### 3. 文件组织 一个Java文件由多个段落组成,段落之间通过空行分隔,并可能包含描述每个段落的注释。为了保持文件的可读性,应尽量避免文件过长(比如超过2000行),如果必要,可以考虑将其拆分为多个文件。 ##...
3. **提高可读性**:良好的代码规范可以显著提升新成员理解和维护代码的速度与效率。 4. **专业形象**:如同产品的包装一样,源代码的质量也代表了开发者的专业形象。 ##### 1.2 致谢 该文档基于Sun Microsystems,...
当项目仅包含少数几个源文件时,开发人员可以简单地通过重新编译整个项目来更新程序。但随着源文件数量的增长,这种方式变得不再高效甚至不切实际。 **问题1:资源浪费** 如果项目中有成百上千个源文件,并且仅有...
1. **文件名和后缀**:Java程序通常使用`.java`作为源文件的后缀,而编译后的字节码文件则以`.class`为后缀。文件名应具有描述性,如`GNUmakefile`用于makefiles,`README`用于概述目录内容。 2. **文件组织**:每...
#### 第三章:Makefile的规则 - **3.1 一个例子** 通过前面章节给出的例子可以更好地理解规则的用法。 - **3.2 规则语法** 规则的基本语法如下: ```makefile target: prerequisites command ``` - **3.3...
- Java源文件使用`.java`作为后缀,编译后的字节码文件使用`.class`后缀。 - `GNUmakefile`是makefiles的首选文件名,用于构建软件。 - `README`文件通常用来概述特定目录下的内容。 2. **文件组织**: - 文件...
由于软件维护通常不是由原开发者完成,因此,清晰一致的编码规范成为新开发者快速理解和维护代码的关键。 ##### 1.2 版权声明 本文档源于Sun Microsystems公司的Java语言规范,由多位业界专家如Peter King、...