送给懒人的工具,关于make的

由本社区发起的开源项目
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 送给懒人的工具,关于make的

#16

帖子 tusooa » 2009-10-06 9:09

如果是一个文件用不着

代码: 全选

06/10/2009 09:14:02
tusooa (~/develop)
>> mkdir -pv C/helloworld
mkdir: 已创建目录 "C/helloworld"
06/10/2009 09:14:10
tusooa (~/develop)
>> cd C/helloworld/
06/10/2009 09:14:15
tusooa (~/develop/C/helloworld)
>> ls
06/10/2009 09:14:16
tusooa (~/develop/C/helloworld)
>> cat > helloworld.c << "EOF"
> #include <stdio.h>
>
> int main(void)
> {
>     printf("Hello world!");
>     return 0;
> }
> EOF
06/10/2009 09:15:08
tusooa (~/develop/C/helloworld)
>> make helloworld
no objdir found. Tried /home/tusooa/develop/C/helloworld
06/10/2009 09:15:15
tusooa (~/develop/C/helloworld)
>> \make helloworld
cc     helloworld.c   -o helloworld
06/10/2009 09:15:19
tusooa (~/develop/C/helloworld)
>> ./helloworld
Hello world!
写了一个支持多个文件的:
lzma-mme-0.1.tar
(945 Bytes) 已下载 440 次
用法:

代码: 全选

mme [-l language]
make
make subdirs
make PREFIX=绝对路径 install

代码: 全选

06/10/2009 12:21:53                                                                                             
tusooa (~/develop/C/tests)                                                                                      
>> ls                                                                                                           
1.h  2.h  3.h  bar  bar.c  bar.c~  foo  foo.c  foo.c~  main.c  Makefile                                         
06/10/2009 12:21:54                                                                                             
tusooa (~/develop/C/tests)                                                                                      
>> mme                                                                                                          
06/10/2009 12:21:57                                                                                             
tusooa (~/develop/C/tests)                                                                                      
>> make                                                                                                         
makeobj[0]: Entering directory `/home/tusooa/develop/C/tests'                                                   
cc -Wall   -c -o bar.o bar.c                                                                                    
cc -Wall   -c -o foo.o foo.c                                                                                    
cc -Wall   -c -o main.o main.c                                                                                  
cc -Wall bar.o foo.o main.o -o tests                                                                            
makeobj[0]: Leaving directory `/home/tusooa/develop/C/tests'                                                    
06/10/2009 12:21:59                                                                                             
tusooa (~/develop/C/tests)                                                                                      
>> make subdirs                                                                                                 
makeobj[0]: Entering directory `/home/tusooa/develop/C/tests'                                                   
make -C ./foo all                                                                                               
make[1]: Entering directory `/home/tusooa/develop/C/tests/foo'                                                  
cc -Wall   -c -o main.o main.c                                                                                  
cc -Wall main.o -o foo                                                                                          
make subdirs                                                                                                    
make[2]: Entering directory `/home/tusooa/develop/C/tests/foo'                                                  
make[2]: Nothing to be done for `subdirs'.                                                                      
make[2]: Leaving directory `/home/tusooa/develop/C/tests/foo'                                                   
make[1]: Leaving directory `/home/tusooa/develop/C/tests/foo'                                                   
make -C ./bar all                                                                                               
make[1]: Entering directory `/home/tusooa/develop/C/tests/bar'                                                  
cc -Wall   -c -o main.o main.c                                                                                  
cc -Wall main.o -o bar                                                                                          
make subdirs                                                                                                    
make[2]: Entering directory `/home/tusooa/develop/C/tests/bar'                                                  
make[2]: Nothing to be done for `subdirs'.                                                                      
make[2]: Leaving directory `/home/tusooa/develop/C/tests/bar'                                                   
make[1]: Leaving directory `/home/tusooa/develop/C/tests/bar'                                                   
makeobj[0]: Leaving directory `/home/tusooa/develop/C/tests'                                                    
06/10/2009 12:22:02                                                                                             
tusooa (~/develop/C/tests)                                                                                      
>> make PREFIX=$PWD/build install
makeobj[0]: Entering directory `/home/tusooa/develop/C/tests'
make -C ./foo all                                            
make[1]: Entering directory `/home/tusooa/develop/C/tests/foo'
make subdirs                                                  
make[2]: Entering directory `/home/tusooa/develop/C/tests/foo'
make[2]: Nothing to be done for `subdirs'.                    
make[2]: Leaving directory `/home/tusooa/develop/C/tests/foo' 
make[1]: Leaving directory `/home/tusooa/develop/C/tests/foo' 
make -C ./bar all                                             
make[1]: Entering directory `/home/tusooa/develop/C/tests/bar'
make subdirs                                                  
make[2]: Entering directory `/home/tusooa/develop/C/tests/bar'
make[2]: Nothing to be done for `subdirs'.                    
make[2]: Leaving directory `/home/tusooa/develop/C/tests/bar' 
make[1]: Leaving directory `/home/tusooa/develop/C/tests/bar' 
make subdirs                                                  
make[1]: Entering directory `/home/tusooa/develop/C/tests'    
make -C ./foo all                                             
make[2]: Entering directory `/home/tusooa/develop/C/tests/foo'
make subdirs                                                  
make[3]: Entering directory `/home/tusooa/develop/C/tests/foo'
make[3]: Nothing to be done for `subdirs'.                    
make[3]: Leaving directory `/home/tusooa/develop/C/tests/foo' 
make[2]: Leaving directory `/home/tusooa/develop/C/tests/foo' 
make -C ./bar all                                             
make[2]: Entering directory `/home/tusooa/develop/C/tests/bar'
make subdirs                                                  
make[3]: Entering directory `/home/tusooa/develop/C/tests/bar'
make[3]: Nothing to be done for `subdirs'.                    
make[3]: Leaving directory `/home/tusooa/develop/C/tests/bar' 
make[2]: Leaving directory `/home/tusooa/develop/C/tests/bar' 
make[1]: Leaving directory `/home/tusooa/develop/C/tests'     
mkdir -pv /home/tusooa/develop/C/tests/build/bin              
mkdir: 已创建目录 "/home/tusooa/develop/C/tests/build"        
mkdir: 已创建目录 "/home/tusooa/develop/C/tests/build/bin"    
cp -Rv tests /home/tusooa/develop/C/tests/build/bin           
"tests" -> "/home/tusooa/develop/C/tests/build/bin/tests"     
chmod -v 755 /home/tusooa/develop/C/tests/build/bin/tests     
"/home/tusooa/develop/C/tests/build/bin/tests" 的权限模式保留为0755 (rwxr-xr-x)
make -C ./foo install                                                          
make[1]: Entering directory `/home/tusooa/develop/C/tests/foo'                 
make subdirs                                                                   
make[2]: Entering directory `/home/tusooa/develop/C/tests/foo'                 
make[2]: Nothing to be done for `subdirs'.                                     
make[2]: Leaving directory `/home/tusooa/develop/C/tests/foo'                  
mkdir -pv /home/tusooa/develop/C/tests/build/bin
cp -Rv foo /home/tusooa/develop/C/tests/build/bin
"foo" -> "/home/tusooa/develop/C/tests/build/bin/foo"
chmod -v 755 /home/tusooa/develop/C/tests/build/bin/foo
"/home/tusooa/develop/C/tests/build/bin/foo" 的权限模式保留为0755 (rwxr-xr-x)
make[1]: Leaving directory `/home/tusooa/develop/C/tests/foo'
make -C ./bar install
make[1]: Entering directory `/home/tusooa/develop/C/tests/bar'
make subdirs
make[2]: Entering directory `/home/tusooa/develop/C/tests/bar'
make[2]: Nothing to be done for `subdirs'.
make[2]: Leaving directory `/home/tusooa/develop/C/tests/bar'
mkdir -pv /home/tusooa/develop/C/tests/build/bin
cp -Rv bar /home/tusooa/develop/C/tests/build/bin
"bar" -> "/home/tusooa/develop/C/tests/build/bin/bar"
chmod -v 755 /home/tusooa/develop/C/tests/build/bin/bar
"/home/tusooa/develop/C/tests/build/bin/bar" 的权限模式保留为0755 (rwxr-xr-x)
make[1]: Leaving directory `/home/tusooa/develop/C/tests/bar'
makeobj[0]: Leaving directory `/home/tusooa/develop/C/tests'
06/10/2009 12:22:19
tusooa (~/develop/C/tests)
>> ./build/bin/
bar    foo    tests
06/10/2009 12:22:19
tusooa (~/develop/C/tests)
>> ./build/bin/tests foobar
Function foo is running, arg is foobar.
bar: arg is foobar.
06/10/2009 12:22:31
tusooa (~/develop/C/tests)
>> ./build/bin/foo
foo
06/10/2009 12:22:36
tusooa (~/develop/C/tests)
>> ./build/bin/bar
bar
顺便:解压用

代码: 全选

tlz -xvvf lzma-mme-0.1.tar -C$HOME/bin

代码: 全选

] ls -ld //
dshbusiness
帖子: 1831
注册时间: 2009-04-03 15:10

Re: 送给懒人的工具,关于make的

#17

帖子 dshbusiness » 2009-10-17 2:14


代码:
tlz -xvvf lzma-mme-0.1.tar -C$HOME/bin
嗯……tlz是什么软件,我下载不到啊……
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 送给懒人的工具,关于make的

#18

帖子 tusooa » 2009-10-21 21:54

dshbusiness 写了:

代码:
tlz -xvvf lzma-mme-0.1.tar -C$HOME/bin
嗯……tlz是什么软件,我下载不到啊……
sorry, tlz==tar --lzma

代码: 全选

echo 'alias tlz="tar --lzma"' >> ~/.bashrc &&
. ~/.bashrc

代码: 全选

] ls -ld //
jackone
帖子: 2
注册时间: 2011-04-28 12:56

Re: 送给懒人的工具,关于make的

#19

帖子 jackone » 2011-06-22 13:33

学习一下
头像
rgwan
帖子: 264
注册时间: 2009-08-24 19:30
联系:

Re: 送给懒人的工具,关于make的

#20

帖子 rgwan » 2011-08-23 10:44

用auto{conf,make},intltool的飘过
CPU Intel Pentium E6500K(倍频超到13)
主板 MSI G41M-P21
内存 金邦2G DDR3 1333 金士顿 2G DDR3 1333 (降到1066)
硬盘 老三星60G(系统盘) 日立1T 数据盘
显卡 蓝宝石 HD5550 二代 256M GD5
电源 联想航嘉 228W “大”功率电源(汗)
键盘鼠标 联想
机箱 联想
显示器 联想!
操作系统 ubuntu maverick.
欢迎大家到我的小站:http://www.rwzy.co.cc
alacwang
帖子: 4
注册时间: 2011-10-20 14:02

Re: 送给懒人的工具,关于make的

#21

帖子 alacwang » 2011-10-20 14:03

太感谢了。我老是记不住那些命令。纠结的要死。
头像
zhaoqingyu51
帖子: 120
注册时间: 2011-10-02 21:06

Re: 送给懒人的工具,关于make的

#22

帖子 zhaoqingyu51 » 2011-10-20 15:03

学习了。。
jaqty2
帖子: 196
注册时间: 2010-02-13 21:13

Re: 送给懒人的工具,关于make的

#23

帖子 jaqty2 » 2011-10-20 17:53

mark
头像
Cherrot
帖子: 981
注册时间: 2011-04-03 10:01
系统: Ubuntu 12.XX
来自: 帝都
联系:

Re: 送给懒人的工具,关于make的

#24

帖子 Cherrot » 2011-11-30 17:03

我喜欢 qmake~
Ubuntu技巧汇总http://wiki.ubuntu.org.cn/UbuntuSkills --你遇到的各种问题可能已经在里面了
我的技术博客http://www.cherrot.com
Code tells you how, comments should tell you why.
pacocai
帖子: 51
注册时间: 2006-02-21 5:19

Re: 送给懒人的工具,关于make的

#25

帖子 pacocai » 2013-04-29 16:17

我也很讨厌写makefile……………………
yedekuan
帖子: 3
注册时间: 2010-11-30 21:43

Re: 送给懒人的工具,关于make的

#26

帖子 yedekuan » 2013-09-02 21:29

我是来跟楼主学习的
phonix512
帖子: 1
注册时间: 2015-02-17 11:12
系统: Linux

Re: 送给懒人的工具,关于make的

#27

帖子 phonix512 » 2015-02-17 11:28

谢谢楼主分享!!!!
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 送给懒人的工具,关于make的

#28

帖子 科学之子 » 2016-01-31 18:25

"下载"在哪里?没了?
回复