读书人

makefile 一个小问, 第一次用解决方法

发布时间: 2012-02-20 21:18:24 作者: rapoo

makefile 一个小问, 第一次用
先贴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可以单独进行编译试试,到底是什么问题

读书人网 >UNIXLINUX

热点推荐