CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Linux/Unix社区 >  程序开发区

编写makefile编译非本地目录文件

楼主edwardlj()2006-03-03 19:09:15 在 Linux/Unix社区 / 程序开发区 提问

我想写一个makefile,使得在当前目录/home/user/a下编译另一个目录/home/user/b下的文件(多个),并将编译生成的.o文件放在当前目录/home/user/a下,咋办?由于项目限制,不允许在/home/user/b下放makefile。目前的困难是不知道如何由原文件生成目标文件。  
   
  EXEC   =   irvwtest  
  CC   =   g++   -g  
  CFLAGS   =   -ansi     -pedantic   -Wall    
  A_DIR       =/home/user/a  
  B_DIR       =/home/user/b  
   
  UT_SRC   =   a.cpp   \  
                  b.cpp    
   
  IRVW_SRC   =   $(B_DIR)/ir_vw_module_testcase.cpp   \  
                  $(B_DIR)/ir_vw_command_line_testcase.cpp    
   
  UT_OBJ   =   $(UT_SRC:%.cpp=%.o)  
  IRVW_OBJ_t   :=   $(IRVW_SRC:f)     #取列表中的文件名部分,但工作不正常  
  IRVW_OBJ   =   $(IRVW_OBJ_t:%.cpp=%.o)  
   
  all:   $(EXEC)  
   
  $(EXEC):     $(IRVW_OBJ)   $(UT_OBJ)    
  $(CC)   -o   $(EXEC)   $(^F)  
  .cpp.o:  
  $(CC)   $(CFLAGS)   -c   $<  
   
  问题点数:100、回复次数:3Top

1 楼tb01412(tb)回复于 2006-03-03 20:59:20 得分 0

用脚本将另一个目录下的文件列表中的将要编译的C文件放入一个变量中,然后再在本地目录来编译,其中心意思如下:  
  gcc   -c   skfh/asdf/ere.c  
  这样不就编译另外的目录下的文件了吗????  
  你要做的事情就是充分利用脚本语言的功能来实现你的需求就行了!!!!!!Top

2 楼morpheus1977()回复于 2006-03-03 21:28:44 得分 0

根据  
            $(CC)   $(CFLAGS)   -c   $<   生成.o  
      然后  
              $(CC)   -o   $(EXEC)   $(^F)   生成最终文件。    
   
        使用了gmake的通配方法  
   
  Top

3 楼robinswan()回复于 2006-03-04 02:51:37 得分 0

不是这样的技巧也不会吧?!  
   
  ADIR=/home/user/a  
  BDIR=/home/user/b  
   
  CXX=g++  
  CXXFLAGS=   -g  
   
  all:  
            CCXX   $(CXXFLAGS)   -o   $(ADIR)/foo.o   -c   $(BDIR)/foo.cTop

相关问题

  • 请问如何让VC6.0使用自己编写的MAKEFILE编译文件
  • 在VC中,如何编写Makefile,及如何用 .mak 文件编译,联接程序(来者有分)
  • jad 能否带子目录反编译?
  • 如何获得编译器目录?
  • 请教Makefile文件编写
  • 我有用Delphi编写的Pascal编译器你有兴趣吗?
  • 急:unix下编写了sybase程序,编译后能用了,
  • 请问怎么用CB编写并编译DLL程序?
  • 如何在WINDOWS下编译LINUX中编写的程序
  • VFP6编写系统后如何编译代码问题

关键词

  • 文件
  • cpp
  • irvw
  • 目录
  • makefile
  • ut
  • obj
  • exec
  • dir
  • home

得分解答快速导航

  • 帖主:edwardlj

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo