jasmine214--love

只有当你的内心总是充满快乐、美好的愿望和宁静时,你才能拥有强壮的体魄和明朗、快乐或者宁静的面容。
posts - 731, comments - 60, trackbacks - 0, articles - 0

简单带子目录的makefile练习

Posted on 2012-01-10 21:18 幻海蓝梦 阅读(1666) 评论(1)  编辑  收藏 所属分类: Linux配置管理Shell
  开始学linux。我练习写的第一个带子目录的makefile文件。
  1。建立文件夹 wulong
  wulong中含 三个文件夹 include source pro 和makefile文件。
  include 中包含 hai.h头文件。
  source 中包含 hello.c文件。
  pro 中包含 haia.c haib.c文件。
  
  makefile文件内容有两种写法:
  makefile 第一种写法:
  //*********************
  CC=gcc #选择编译器类型为gcc
  VPATH= include : pr : source #列明文件存放目录
  
  hello: hello.o haia.o haib.o
   $(CC) -o hello hello.o haia.o haib.o
  hello.o:hello.c hai.h
   $(CC) -c hello.c
  haia.o: haia.c hai.h
   $(CC) -c haia.c
  haib.o: haib.c hai.h
   $(CC) -c haib.c
  .PHONY: clean
  clean:
   rm hello $(obj)
  //*************************
  
  
  
  makefile第二种写法(简化版):
  //********************************
  CC=gcc #选择编译种类
  
  VPATH= include : pr : source #在include pr source 三目录下查找文件
  
  obj= hello.o haia.o haib.o #
  
  hello:$(obj) #
   $(CC) -o hello $(obj)
  
  $(obj): hai.h
  
  .PHONY: clean
  clean:
   rm hello $(obj)
  //**********************************
  
  
  hai.h文件内容为:
  //************************
  #include "stdio.h"
  extern void haiprinta();
  extern void haiprintb();
  //****************
  
  hello.c内容为:
  //****************
  #include "../include/hai.h"
  
  int main(void)
  {
  haiprinta();
  haiprintb();
  return 0;
  }
  //**************
  
  haia.c内容为:
  //************
  #include "../include/hai.h"
  
  void haiprinta()
  {
  printf("hai aaaaaaaaaa\n");
  }
  //**************
  
  
  haib.c内容为:
  //**************
  #include "../include/hai.h"
  
  void haiprintb()
  {
  printf("haib bbbbbbbbbbbbbb\n");
  }
  //*******************
  
  2。make 调用makefile生成 可执行文件 hello
  
  3. 运行 hello显示打印结果:
  [HAI@localhost wulong]$ ./hello
  hai aaaaaaaaaa
  haib bbbbbbbbbbbbbb
  [HAI@localhost wulong]$
  
  到此结束,恭喜!

原文:
http://blog.tianya.cn/blogger/post_show.asp?BlogID=2058037&PostID=17326631

Feedback

# re: 简单带子目录的makefile练习[未登录]  回复  更多评论   

2014-06-24 14:11 by elaine
您好,我想单独请教一下visualsvn server与subversion的区别,既然visualsvn server集成了subversion,为什么还有那么多的人在用subversion?

只有注册用户登录后才能发表评论。


网站导航: