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

makefile 一个小问, 第一次用

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

    本文导语:  先贴makefile文件, 下面跟问题: CFLAGS = -Wall CFLAGS+= -g #CFLAGS+= -Dcplusplus #CFLAGS+= -D_UNIX_ CSRC_EXCLUDE= y.tab.c LEX = flex YACC = byacc #LDLIBS= -ly -ll -lm LDLIBS= -ly -lm GCC = gcc CC = $(GCC) $(CFLAGS)  all: masm  masm: lex.yy.o y.t...

先贴makefile文件, 下面跟问题:


CFLAGS = -Wall
CFLAGS+= -g
#CFLAGS+= -Dcplusplus
#CFLAGS+= -D_UNIX_

CSRC_EXCLUDE= y.tab.c

LEX = flex
YACC = byacc
#LDLIBS= -ly -ll -lm
LDLIBS= -ly -lm
GCC = gcc


CC = $(GCC) $(CFLAGS) 

all: masm 

masm: lex.yy.o y.tab.o asmutil.o srcList.o symbols.o loclab.o instr_handler.o bit_instr.o memory.o orgSrcList.o
$(CC) -o masm  lex.yy.o y.tab.o asmutil.o srcList.o symbols.o loclab.o instr_handler.o bit_instr.o orgSrcList.o memory.o $(LDLIBS)

lex.yy.o: asm.l.c asm.h y.tab.h bit_instr.h instr_handler.h
$(LEX) -v asm.l.c
$(CC) -c lex.yy.c

y.tab.c y.tab.h: asm.y.c asm.h asmutil.h srcList.o symbols.o
$(YACC) -v -d asm.y.c

y.tab.o: y.tab.c y.tab.h asm.h asmutil.h  memory.o
$(CC) -c y.tab.c

bit_instr.o: bit_instr.c asm.h masm.h 
$(CC) -c bit_instr.c

instr_handler.o: instr_handler.c instr_handler.h asm.h masm.h 
$(CC) -c instr_handler.c

srcList.o: srcList.c srcList.h asm.h asmutil.h
$(CC) -c srcList.c

orgSrcList.o: orgSrcList.c orgSrcList.h asm.h asmutil.h
gcc -c -g orgSrcList.c

symbols.o: symbols.c  symbols.h asm.h asmutil.h
gcc -c -g symbols.c

asmutil.o: asmutil.c  asmutil.h  asm.h 
gcc -c -g asmutil.c

memory.o: memory.c  memory.h  masm.h  asm.h
gcc -c -g memory.c

loclab.o: loclab.c  loclab.h 
gcc -c -g loclab.c


main.o: main.c symbols.h
gcc -c -g main.c

testme: symbols.o symbols.h main.o
gcc -o testme -g main.o symbols.o
 


clean::
rm -f *.o 
rm -f *.err *.asl *.crop *.data *.dat *.sap
rm -f y.output y.tab.c lex.yy.c y.tab.h 
rm -f *.exe *.stackdump *.bak






上面的文件中:
orgSrcList.o: orgSrcList.c orgSrcList.h asm.h asmutil.h
gcc -c -g orgSrcList.c
是我后来添加的,运行的时候提示错误:
make: *** No rule to make target `orgSrcList.c', needed by `orgSrcList.o'.  Stop
.
我就是按照其他几个rule写的,怎么会norule呢?

|
orgSrcList.o: orgSrcList.c orgSrcList.h asm.h asmutil.h
这里是tab不是空格  gcc -c -g orgSrcList.c

|
make: *** No rule to make target `orgSrcList.c', needed by `orgSrcList.o'.  Stop
或者是找不到那个文件,或者是无法编译(格式问题,就是楼上说的),lz可以单独进行编译试试,到底是什么问题

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Makefile.in,Makefile.am,Makefile.bor应该怎么用?
  • makefile.am和makefile.in是什么文件,与makefile有什么联系吗?
  • 最近在学习linux C 看到了makefile部分,觉得makefile的语法很难理解,Makefile 的语法是不是shell语法?
  • 求解makefile问题,makefile.conf的作用?
  • 从网上载了个C++程序的源代码,包含38个.cpp和.h,还有makefile.in和makefile.am两个文件,但无configure和makefile.请问怎么编译?谢谢!
  • 有makefile.am,有 makefine.in 为什么就是没有Makefile?
  • makefile如何调用文件目录下的makefile
  • 请教根据Makefile.am自动生成Makefile的问题
  • 怎麼樣使Makefile.in生成Makefile?
  • 【急!】一个程序里有好多文件夹里都有Makefile,如何找到最管用的makefile
  • 【makefile使用】请问怎样在shell中获取makefile的最终目标?
  • unix下面make makefile文件,提示“makefile is up-to-date",怎么办呀?
  • Makefile使用遇到的问题!"Makefile:3:missing the separator.stop"在线等待.......
  • Makefile是如何输出执行的路径的,表示执行的是那个Makefile
  • 下的tar.gz源码里只有makefile.in和makefile.am
  • 一句 makefile 的解释 -- makefile 与 shel 结合
  • linux makefile error :Makefile:335: *** commands commence before first target。
  • [test@localhost ~]$ cat <makefile >catfile 跟cat > catfile <makefile是一样的吧?
  • 关于makfile,makefile.in, makefile.am. configure之间的关系
  • win32下编译Linux 下的项目(makefile.am和makefile.in)


  • 站内导航:


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

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

    浙ICP备11055608号-3