当前位置:  技术问答>linux和unix

谁能帮我看一下这个make文件?

    来源: 互联网  发布时间:2015-01-17

    本文导语:  #########用户设定#################### ###可执行文件名 EXECUTABLE = ocidemo # ###需要的头文件目录 INCLUDES = -I. -I/usr/include/cxx -I$(ORACLE_HOME)/rdbms/demo # ###需要的动态或静态库文件 LIBS := -L/usr/lib -L/usr/sys/lib -L$(ORACLE_HOME)/lib L$(...

#########用户设定####################
###可执行文件名
EXECUTABLE = ocidemo
#
###需要的头文件目录
INCLUDES = -I. -I/usr/include/cxx -I$(ORACLE_HOME)/rdbms/demo
#
###需要的动态或静态库文件
LIBS := -L/usr/lib -L/usr/sys/lib -L$(ORACLE_HOME)/lib L$(ORACLE_HOME)/rdbms/lib -lclntsh
#
###C语言编译程序
CC = cxx
#
###C++编译程序
CXX = cxx
#
###C编译参数
CFLAGS := -g -Wall -O3 $(INCLUDES)
CXXFLAGS := $(CFLAGS)
#
###C预编译选项
CPPFLAGS += -MD
#
###源文件
SOURCES := $(wildcard *.c) $(wildcard *.cc)
#
###目标文件
OBJS := $(patsubst %.c,%.o,$(patsubst %.cc,%.c,$(SOURCE)))
#
###依靠文件
DEPS := $(patsubst %.o %.d $(OBJS))
MISSING_DEPS := $(filter-out $(wildcard $(DEPS)),$(DEPS))
MISSING_DEPS_SOURCE := $(wildcard $(patsubst %.d, %.c, $(MISSING_DEPS)) $(patsubst %.d, %.cc,$(MISSING_DEPS)))
#
.PHONY: everything deps objs clean everyclean rebuild
#
everything : $(EXECUTABLE)
#
deps : $(DEPS)
#
objs : $(OBJS)
#
clean:  
@$(RM) *.o
@$(RM) *.d
#
everyclean : clean
@$(RM) $(EXECUTABLE)
#
rebuild : everyclean everything
#
ifneq ($(MISSING_DEPS), )
$(MISSING_DEPS): 
@$(RM) $(patsubst %d, %.o $@)
endif
#
-include $(DEPS)
#
$(EXECUTABLE) : $(OBJS)
$(CC) $(CFLAGS) $(CPPFLAGS) -o $(EXECUTABLE) $(OBJS) $(LIBS) 
这个文件是我根据别人的文件该的,但执行时出错,提示在@$(RM) 这行
必须要一个seperator,即使删除这以后,其它行还是这样的错误,请高手指教?

|
令名行前要加't' Tab分割符,如下行应该以Tab开头。
@$(RM) *.o
@$(RM) *.d
@$(RM) $(EXECUTABLE)
ifneq ($(MISSING_DEPS), )
@$(RM) $(patsubst %d, %.o $@)
$(CC) $(CFLAGS) $(CPPFLAGS) -o $(EXECUTABLE) $(OBJS) $(LIBS) 

|
楼上的没错,一般在makefile 或Makefile中出现separeate错误基本上是TAB问题
再者,@$(RM) *.o 前的@符 应该没有必要
可以试试

|

最上面定义:
RM =rm -f -r

@$(RM) *.o
@$(RM) *.d
@$(RM) $(EXECUTABLE)

|
定义 RM 后用 $(RM) *.o,不要用 @$

|
不太懂!!

    
 
 

您可能感兴趣的文章:

  • 第一次写make文件,报makefile:2: *** missing separator. Stop.错,make文件只有两行
  • 50分的问题!make文件找不到? You don't seem to have 'make' or 'gmake' in your PATH
  • 请问emacs中怎样用make来编译.cpp文件?
  • Linux Eclipse的Make文件利用
  • 有关make文件
  • 请教下:是否有方法 在vim中执行make命令的同时继续编辑和查看文件呢?
  • make如果没有makefile文件将如何重建?
  • 编译qt-x11,最后编译生成可执行文件时候,make出错
  • 请教Make文件的一个问题。。。
  • 编写内核模块程序的makefile文件make错误
  • 如何写make文件?
  • 求apache配置文件的注释,如:make install
  • 如何将make的结果输出到文件中
  • make file 文件中 $@ 什么意思?
  • 关于make文件的问题(遗漏分隔符 。 停止)
  • make 文件的写法,请教大家
  • 帮忙解释一下,下面几句make文件的意思吧,关键是@for是怎么回事
  • 请问make文件中这句话什么意思?
  • 如何编写 makefile.am 文件让其make后生成 lib*.so* 格式的链接库文件?
  • Make 文件编译问题!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 有关make all; make clobber; make depend; make debug 的区别?
  • 我要缩减LINUX内核,make menuconfig时把一些选项去掉,再make dep没错,但再make bzImage时却会提错,但我make menuconfig时不改变任何选现(
  • 我已经用make clean编译成功了内核但是在make moduals时候处错误,然后又make menuconfig,我还需要make zImage吗?
  • make perl 模块的时候出错,make: *** No rule to make target,帮忙看看,谢谢。
  • 如何写出兼容于BSD MAKE、GNU MAKE、SOLARIS MAKE的条件编译Makefile?
  • 在solaris8.0我装了make3.81,下载了make-3.81-sol8-sparc-local.gz,为什么不能在任何目录下输入make?
  • 怎样验证自己的make是不是GNU的make?
  • 问一个很低级的问题:怎样卸载用make;make install方法安装的软件?
  • configure make make install 新手问题...
  • cygwin make操作,出现no rule to make target all
  • 请教 make gdb-6.4 出现 make[4]: Entering directory `/tmp/gdb-6.4/gdb/doc'
  • make zImage和make modules等问题请教~
  • debian下安装bind用./configure时提示安装bind时./configure提示whether make sets $(MAKE)... no
  • make kernel make gcc
  • make;make install放在script裡
  • make oldconfig 和 make defconfig有何区别?
  • 求linux下 ./configure;make;make install一系列命令的详解
  • make -f makefile 时提示 Make: Must be a separator on rules line 5. Stop. 为什么,makefile 如下
  • make时出现错误:*** No rule to make target `<built-in>'????
  • make -f 多个makefile 怎么做


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3