不知不觉毕业五年了,以前学的linux基本都忘了,重新温习起来吧!

下面是自己写的makefile文件,供新手和自己回头时查阅

CC=gcc
EXE=c.out
CCC=g++
EEE=cc.out
INC=/home/malth/project/include/
LIB=/home/malth/project/lib/
#添加文件搜索路经
vpath=/home/malth/project/lib
#vpath %.h ~/project/include
OUT=main.o bubbling_sort.o thread.o share_memory.o
CFILE=main.c bubbling_sort.c thread.c share_memory.c ctest:$(OUT)
@echo compiling start......
#命令前加 - 减号可以忽略命令执行错误的信息
#"@"符号可以隐藏命令,命令会执行但是不会显示命令本身 #调试发现用*.o文件做gcc -o 连接生成的可执行文件不能进行GDB调试顾增加了*.c文件直接生成供选择
# $(CC) $(OUT) -static $(LIB)slib.a -lpthread -o $(EXE)
$(CC) $(CFILE) -I$(INC) -static $(LIB)slib.a -lpthread -g -o $(EXE)
@echo compile successed!
# @-rm -f *.o main.o:main.c
$(CC) -I$(INC) -c -g main.c common.o:common.c
$(CC) -c -g common.c thread.o:thread.c
$(CC) -c -g thread.c bubbling_sort.o:bubbling_sort.c
$(CC) -c -g bubbling_sort.c share_memory.o:share_memory.c
$(CC) -c -g share_memory.c cctest:test.cc
-rm -f cc.out
$(CCC) -o $(EEE) test.cc ######################################################
#create the static library
slib:static_lib.o
ar -rcs slib.a static_lib.o
mv -f slib.a $(LIB) static_lib.o:static_lib.c
$(CC) -c static_lib.c
###################################################### clean:
-rm -f $(EXE) $(EEE) *.o
ls result=
result:=$(words hello world) all:
@echo -n "result is : "
@echo $(result)
.PHONY:all

linux C学习笔记01--makefile的更多相关文章

  1. Linux 编程学习笔记----动笔makefile档

    Befroe Beginning. 在设置暑假的plan ,关于Linux的书籍如今在看的是ALP和Linux高级程序设计(杨宗德)第三版.在计划中的是Linux高级环境编程. 如今開始关于Linux ...

  2. Linux Basic学习笔记01

    介绍课程: 中级: 初级:系统基础 中级:系统管理.服务安全及服务管理.Shell脚本: 高级: MySQL数据库: cache & storage 集群: Cluster lb: 4laye ...

  3. linux shell 学习笔记01

    1.命令历史记录history !$     :调用上一条命令的执行结果 !100   :运行history记录里的第100条命令 !ser   :调用以ser开头的最后一次执行的命令 ctrl+r  ...

  4. C++ GUI Qt4学习笔记01

    C++ GUI Qt4学习笔记01   qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概 ...

  5. linux 驱动学习笔记01--Linux 内核的编译

    由于用的学习材料是<linux设备驱动开发详解(第二版)>,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式. #make confi ...

  6. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  7. Linux系统学习笔记:文件I/O

    Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...

  8. Linux内核学习笔记-2.进程管理

    原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  9. Linux内核学习笔记-1.简介和入门

    原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  10. Linux内核学习笔记二——进程

    Linux内核学习笔记二——进程   一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器 ...

随机推荐

  1. R读取数据的错误

    使用R读取数据的时候遇到这种错误: invalid multibyte string at '<fd>' 解决方法就是: tbl <- read.delim("dir/fi ...

  2. Charles初体验

      背景: 谈起HTTP调试代理工具, 很多人第一反应就会提到Fiddler. 可惜Fiddler由C#编写, 对Mac电脑的支持并不友好(存在Mac版Fiddler--mono fiddler, 不 ...

  3. ODOO从哪里开始??OpenERP的第一根线头儿

    Windows下ODOO源码启动: python odoo-bin -w odoo -r odoo --addons-path=addons,../mymodules --db-filter=mydb ...

  4. 编译llvm+clang

    第一步,下载llvm代码: git clone git@github.com:llvm-mirror/llvm.git 第二步,进入llvm/tools目录并下载clang代码 cd llvm/too ...

  5. 用ABBYY提取文本和表格的方法

    在ABBYY FineReader 12 OCR文字识别软件中,有一个插件ABBYY Screenshot Reader,通常情况下与ABBYY FineReader 12一起安装到计算机中,它是一款 ...

  6. PicPopupWindow的使用

    Github地址https://github.com/lujianfeiccie/android_picpopup_window 效果图1: 效果图2:

  7. SQL 表 和字符串 互转 (行列互转)

    -- 表转字符串 )) ,,'') --字符串转表 ),)) ,) )) AS BEGIN DECLARE @StartIndex INT --开始查找的位置 DECLARE @FindIndex I ...

  8. google protocol buffer 使用说明

    一:编译源码 下载地址:http://code.google.com/p/protobuf/downloads/list 下载后,根据编译说明进行编译. windows 平台,直接打开msvc中的工程 ...

  9. JS操作iframe

    1. 获得iframe的window对象 存在跨域访问限制. chrome:iframeElement. contentWindow firefox: iframeElement.contentWin ...

  10. bower安装使用入门详情

    bower安装使用入门详情   bower自定义安装:安装bower需要先安装node,npm,git全局安装bower,命令:npm install -g bower进入项目目录下,新建文件1.tx ...