Makefile生成多个可执行文件

如何撰写生成多个可执行文件的Makefile?

例如工程需要生成多个可执行文件:

test1.c; test2.c; test3.c

test1.h; test2.h; test3.h

我们希望生成三个可执行文件:test1, test2, test3

all : test1 test2 test3
.PHONY : all

test1 : test1.o
        cc -o test1 test1.o
test2 : test2.o
        cc -o test2 test2.o
test3 : test3.o
        cc -o test3 test3.o

test1.o : test1.c test1.h
        cc -c test1.c
test2.o : test2.c test2.h
        cc -c test2.c
test3.o : test3.c test3.h
        cc -c test3.c

.PHONY : clean
clean:
        rm test1 test2 test3 *.o

  

第二行说明all是个“伪目标”,make不会生成“all”这个可执行文件,而是执行后面的多个目标。该行可以不写,因为make可以通过隐式规则推导出来。

时间: 2024-10-06 02:31:55

Makefile生成多个可执行文件的相关文章

Makefile生成

安装:sudo yum install automake使用: 1 运行autoscan生成两个文件:autoscan.log和configure.scan.将configure.scan重命名为configure.in.   修改configure.in文件: (1) 将AC_INIT中的参数进行填充,如:AC_INIT(hello,1.0,[email protected]) (2) 在#Check for programs注释前增加AM_INIT_AUTOMAKE(packet-name,

Makefile 生成工具之autotools

一.安装autotools工具 sudo apt-get install automake sudo apt-get install autoconf 二.autotools是系列工具, 它主要由autoconf.automake.perl语言环境和m4等组成;所包含的命令有五个 : aclocal autoscan autoconf autoheader automake 1.autoscan 它会在给定目录及其子目录树中检查源文件,若没有给出目录,就在当前目录及其子目录树中进行检查.它会搜索

C实现修改可执行文件中的字符串,生成新的可执行文件

这种技术常用在远程控制软件中,我们已有远程控制软件的服务器端.我们利用远程控制软件的客户端配置生成我们自己的服务端软件,实现服务器端的端口及IP地址更新的功能. 下边看源代码 #include <stdio.h> #include <Windows.h> int FindStr(char *destStr, char *srcStr, int destStrLen, int srcStrLen); void ReplaceStr(char *destStr, char * srcS

使用automake、autoconf生成MakeFile文件

从helloworld入手 我们从大家最常使用的 例子程序helloworld开始. 下面的 过程如果简单地说来就是 : 新建三个文件: helloworld.c configure.in Makefile.am 然后执行: aclocal; autoconf; automake --add-missing; ./configure; make; ./helloworld 就可以看到Makefile被产生出来,而且可以将helloworld.c编译通过. 很简单吧,几条命令就可以做出一个符合惯例

使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包(详解)

转自:http://blog.csdn.net/longerzone/article/details/12705507 一.前言 本文将介绍如何使用autotools生成一个Makefile文件,并在此基础上使用dh-make和debuild生成一个可发布的deb程序包,这也是我们在Linux下开发应用程序以及想要发布应用程序需要做的. 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make ins

QT5生成可执行文件总结

环境:win7 32位 运行Qt5.6  所需外部软件:upx391w,Enigma virtual Box 以样例的形式说明如下: 1.利用QtCreator打开项目release生成项目可执行文件,注意这时生成的 *.exe文件是不能执行的,需要很多外部.dll文件,debug方式生成的文件有1.8M大. 2.提取ButtonTest5.exe运行所需要的dll文件. 如在F盘新建一个button文件夹,将ButtonTest5.exe复制到button文件夹中,启用Qt自带的windepl

Makefile学习7————自动生成依赖关系 三颗星

后面会介绍gcc获得源文件依赖的方法,gcc这个功能就是为make而存在的.我们采用gcc的-MM选项结合sed命令.使用sed进行替换的目的是为了在目标名前加上"objs/"前缀.gcc的-E选项,预处理.在生成依赖关系时,其实并不需要gcc编译源文件,只要预处理就可以获得依赖关系了.通过-E选项,可以避免生成依赖关系时gcc发出警告,以及提高依赖关系的生成效率. 现在,已经找到自动生成依赖关系的方法了,那么如何将其整合到我们complicated项目的Makefile中呢?自动生成

Linux就这个范儿 第8章 我是Makefile

P287 Makefile的作用就是——自动化编译,一旦写好,只需要一个make命令(解析Makefile,执行Makefile中描述的操作),整个工程就能完成自动编译,无论这个工程拥有多少个源代码文件.Makefile定义了一系列的规则,来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为Makefile就像一个shell脚本一样,其中也可以执行操作系统的命令. 最典型的就是在微软的Visual Studio中,当你需要别人编写的dll作为你项目

转:跟我一起写Makefile (PDF重制版)

原文地址:http://seisman.info/how-to-write-makefile.html 其它一些问题  不妨看一下:http://blog.csdn.net/huyansoft/article/details/8924624 简化版  不妨看一下:http://blog.chinaunix.net/uid-26980210-id-3244651.html 跟我一起写 Makefile (PDF 重制版)By [email protected]作者: 陈皓2014 年 03 月 0