makefile 编译多个目标】的更多相关文章

1.静态库libtools.a源码 libtools.h #ifndef tools_h_ #define tools_h_ int sub(int x,int y); int mul(int x,int y); #endif libtools.cpp #include"libtools.h" int sub(int x,int y) { return x - y; } int mul(int x ,int y) { return x * y; } 2.动态库libutility.so…
gcc编译控制过程:(假设源代码为a.c)(1)源文件到预处理文件:    gcc -E -o a.cxx a.c    a.cxx显示调用哪些头文件(2)生成汇编代码:              gcc -S -o a.s a.c        a.s显示汇编指令(3)生成目标代码:              gcc -c -o a.o a.c(4)链接生成可执行文件:      gcc a.o -o aa.out gdb调试程序:(1)生成可执行程序:    gcc -g -o a.debu…
打算学习一下Linux,这两天先看了一下gcc的简单用法以及makefile的写法,今天是周末,天气闷热超市,早晨突然发现住处的冰箱可以用了,于是先出去吃了点东西,然后去超市买了一坨冰棍,老冰棍居多,5毛钱一根,还有几根1.5的. 嗯 接着说gcc的事 先把源代码贴上来 //gettime.h #ifndef _GET_TIME_H_ #define _GET_TIME_H_ void PrintCurrentTime(); #endif //gettime.c #include <stdio.…
转自:https://blog.csdn.net/QQ1452008/article/details/51851801 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/QQ1452008/article/details/51851801 前言 如何提高 Makefile 的编译速度呢?既然是提高,那肯定是对于大项目而言,因为小项目本身源文件不多,Makefile 优化与否,对于编译速度而言,影响并不大.当然对于那些追求速度达到极致的人而言,就另当…
live555学习(一)通读Makefile编译live555 live555 编译live555 学习开源 live555学习(一)通读Makefile编译live555 前言 live555简介 下载live555 live的编译 生成Makefile Make的生成目标 前言 拿到一份开源代码,我们应该怎么学习呢,第一次接触的时候面对海量的源码,会有种找不着北的感觉吧.这里我会写下自己的学习过程,以及学习中遇到的那些问题一一记录下来,望对初学会有所帮助. 学习开源代码,我认同一种说法,“竟…
本节我们讨论一个Makefile中的一个重要的特殊目标:伪目标. 伪目标是这样一个目标:它不代表一个真正的文件名,在执行make时可以指定这个目标来执行其所在规则定义的命令,有时我们也可以将一个伪目标称为标签.使用伪目标有两点原因:1. 避免在我们的Makefile中定义的只执行命令的的目标(此目标的目的为了执行执行一系列命令,而不需要创建这个目标)和工作目录下的实际文件出现名字冲突.2. 提高执行make时的效率,特别是对于一个大型的工程来说,编译的效率也许你同样关心.以下就这两个问题我们进行…
本文并不是Makefile的教程,仅是本人学习时的感悟. Makefile的基本格式 目标:依赖文件(or 目标) [tab]命令 目标: 是要生成的或操作的命令的索引 依赖: 是生成目标依赖的文件或目标 命令: 是为了生成目标需要执行的shell语句 任意一个依赖文件被改动,将导致已存在的目标文件过期,简单来说,依赖的作用就是决定目标是否过期,是否需要重新编译. 举个例子, #include <stdio.h> #include "mylib1.h" #include &…
本文主要介绍如何将一个依赖 Makefile 项目(MIDG)移植到 CMake 上. 首先介绍项目文件结构,文件主要由三个目录组成 3rdParty include src 其中,3rdParty 中包含两个外部函数库,即 Metis 与 ParMetis,生成两个静态链接库 libmetis.a 与 libparmetis.a. src 包含项目所有源程序, include 则包含了全部头文件. 因此,我们在根目录下 cmake 配置文件内容如下 cmake_minimum_required…
makefile 编译指定目录 sub1=test1 sub2=test2 subs = sub1 sub2 SUBDIRS =$(foreach i, $(subs), $($(i))) .PHONY:default all clean $(SUBDIRS) $(subs) default:all all clean: make $(SUBDIRS) TARGET=$@ $(SUBDIRS): make -C $@ $(TARGET) $(subs): make $($@)…
以下是我自己写的Makefile 文件: .SUFFIXES:.c .o CC = gcc SRCS = stat.c OBJS = $(SRCS:.c=.o) EXEC = test start:$(OBJS) $(CC) -g -o $(EXEC) $(OBJS) .c.o: $(CC) -Wall -g -o $@ -c $< clean: rm -f $(OBJS) make的时候提示Makefile:1: *** 多个目标匹配. 停止. 最后发现是由于换行符的问题,分别使用window…