Linux学习(二):makefile

编译命令:

  gcc -o exefile src.c    (将src.c编译,链接为exefile可执行文件)

  gcc -o obj.o -c src.c   (将src.c编译为obj.o目标文件)

makefile文件:编译命令脚本:

  文件实例:

.SUFFIXES:.c .o  //.c和.o建立关联

CC=gcc
SRCS=hello.c        add.c  //同时编译两个.c文件

OBJS=$(SRCS:.c=.o)//ORJS=hello.o add.o
EXEC=hello

start: $(OBJS)  //依赖hello.o add.o
        $(CC) -o $(EXEC) $(OBJS)
        @echo ‘----------------ok------------‘

.c.o:
        $(CC) -o [email protected] -c $<  //自动根据$(OBJS) 中.o的数量循环编译, 直到编译完所有的.c文件

clean:
        rm -f $(OBJS)

  执行效果:

  

时间: 2024-08-27 10:30:45

Linux学习(二):makefile的相关文章

【Linux学习】Makefile学习(二)

FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 40975    Accepted Submission(s): 13563 Problem Description FatMouse prepared M pounds of cat food, ready to trade with the cats g

Linux学习二:Makefile基础

文首感谢http://www.chinaunix.net 作者:gunguymadman的分享 makefile关系到了整个工程的编译规则.一个工程中的源文件不计数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令. 1.程序的编译和链接一般来说,无论是C.C++.还是pas(pascal语言),

Linux学习之Makefile文件的编写

转自:http://goodcandle.cnblogs.com/archive/2006/03/30/278702.html 目的:       基本掌握了 make 的用法,能在Linux系统上编程.环境:       Linux系统,或者有一台Linux服务器,通过终端连接.一句话:有Linux编译环境.准备:       准备三个文件:file1.c, file2.c, file2.h       file1.c:              #include <stdio.h>    

Linux学习(二)-Xshell 5和Xftp 5的安装和使用

(一)软件介绍: (1)Xshell: Xshell通过互联网可以连接到远程的服务器,然后通过模拟终端来实现对服务器的各种操作,而且这款软件可以很好的解决中文乱码问题,非常的方便快捷. (2)Xftp: 简单来说就是远程来修改Linux中文件用的,对于linux不太熟悉的会感觉全使用命令的方式去定位和打开文件非常的费劲,这时候,xftp就出现了,这款软件是Windows 风格的,图形化的操 作界面,让我们更加容易接受,同时他支持对linux中文件的各种修改和操作. 特别说明:如果希望安装好XSh

Linux学习(二) wget命令的使用

最近在Linux下进行一些操作,在很多地方都用到了wget这个命令,记录一下一些有关wget的用法: wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能和特点: (1)支持断点下传功能:这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了: (2)同时支持FTP和HTTP下载方式:尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,

linux学习二

一周第二次课(5月27日)1.6/1.7 配置IP1.8 网络问题排查因为你的服务器一般情况下都是在机房的,所以我们需要一个IP连接到服务器的,所以要每次连接到linux都是要远程连接.首要问题就是要配置IP地址的问题.在之前安装虚拟机的时候因为是NAT的方式,可以用ip addr自动获取一个ip然后会看到一个获取的ip还可以通过虚拟网络编辑器查看子网地址 在vm里.编辑.虚拟网络编辑器查询到IP地址之后首先要固定IP地址,为了防止下次再次登陆IP登陆不上去通过路径和利用TAB键快速补全代码然后

Linux学习:Makefile 模板(动态库、静态库、可执行程序)

1.编译动态库 ############################################################# # Makefile for shared library. # 编译动态链接库 ############################################################# #set your own environment option CC = g++ CC_FLAG = -D_NOMNG -D_FILELINE #set

linux学习二(小随笔)

1apt-get 解包命令 tar zxvf ......... 打包命令 tar czvf ......... gz gunzip ........gz gzip    ..........gz ls -hl  查看文件大小 deb的包安装debian中需要dpkg -i axel 多线程断点工作 2.kali-linux Hackbar工具 是一个小工具包 原文地址:https://www.cnblogs.com/blankicefire/p/8414098.html

[Python 学习] 二、在Linux平台上使用Python

这一节,主要介绍在Linux平台上如何使用Python 1. Python安装. 现在大部分的发行版本都是自带Python的,所以可以不用安装.如果要安装的话,可以使用对应的系统安装指令. Fedora系统:先以root登入,运行 yum install python Ubuntu系统:在root组的用户, 运行 sudo apt-get install python 2. 使用的Python的脚本 Linux是一个以文件为单位的系统,那么我们使用的Python是哪一个文件呢? 这个可以通过指令

linux学习 建立静态库,动态库,写简单的makefile

建立静态库 建立四个文件 bin(可执行文件),lib(库),include(头文件),src(放源文件) 这里的起的库明为add 在src文件中执行 1)gcc -c add.c //编译add.c源文件生成add.o目标文件 2)ar crsv ../lib/ libadd.a add.o //对目标文件*.o进行归档,生成lib*.a, 把这个生成文件放在lib里 3)gcc -o main main.c -L(大些的爱偶,放库的路径)../lib   –l(小写的爱偶,库名为add) a