设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Linux 程序设计专题讨论
›
求用于单文件test的makefile
返回列表
查看:
820
|
回复:
3
求用于单文件test的makefile
[复制链接]
adam8157
adam8157
当前离线
积分
1035
IP卡
狗仔卡
发表于 2010-4-14 22:10:05
|
显示全部楼层
|
阅读模式
有时候要写单C文件的test程序, 想用make管理, 又不想给每个都写makefile, 求模板
要求在vim中运行, 产生如下效果:
:w
:!gcc -Wall -g % -o %<
:! ./%<(这个可选)
只有一个makefile, 却能处理所有的源文件, prog1.c产生prog1, prog2.c产生prog2...根据vim当前编辑文件确定...
主要是不清楚如何把当前的%和%<传递给make处理...各位大侠, 出招吧...谢谢
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
adam8157
adam8157
当前离线
积分
1035
IP卡
狗仔卡
楼主
|
发表于 2010-4-14 22:39:37
|
显示全部楼层
自问自答
利用make的隐式规则, makefile中只写下面两句就能实现我要的功能...
CC = gcc
CFLAGS = -Wall -g
复制代码
用的时候prog.c执行:make prog
或者:make %<
谢谢ganquan提示....
回复
支持
反对
使用道具
举报
显身卡
poet
poet
当前离线
积分
1357
IP卡
狗仔卡
发表于 2010-4-15 10:41:30
|
显示全部楼层
使用隐式规则无须写 Makefile,可以把 CFLAGS 直接写到环境变量中去。
CC 无须写,系统缺省的就可用。
另外,建议在测试的 CFLAGS 中增加 -O2,因为有很多问题是只有在 -O2 才暴露出来的,而且某些编译器警告与错误只有 -O2 才生效。(这可能是 gcc 的 bug,但是多年以来一直是这样,也就是说,只有 -O2 的时候才具有最完整的 -Wall 指示,而不加优化时某些警告根本不被使能,这都是我在具体项目中曾经吃过亏的地方。)
回复
支持
反对
使用道具
举报
显身卡
adam8157
adam8157
当前离线
积分
1035
IP卡
狗仔卡
楼主
|
发表于 2010-4-15 11:30:19
|
显示全部楼层
" Save & Make
nnoremap <F5> :w<CR>:make<CR>
nnoremap <F6> :w<CR>:make %< CC=gcc CFLAGS="-Wall -g -O2"<CR>:!./%<<CR>
nnoremap <F7> :copen<CR>
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表