makefile问题

编译时,makefile如下:
CFLAGS= -g
INCS=
# use the following line to "Purify" the code
#CC=purify gcc
CC=gcc
SRCS=baum.c viterbi.c forward.c backward.c hmmutils.c sequence.c /
 genseq.c nrutil.c testvit.c esthmm.c hmmrand.c testfor.c

all : genseq testvit testfor esthmm
 
genseq: genseq.o sequence.o nrutil.o hmmutils.o  hmmrand.o
  $(CC) -o genseq genseq.o sequence.o nrutil.o /
 hmmrand.o hmmutils.o  -lm
testvit: testvit.o viterbi.o nrutil.o hmmutils.o sequence.o
  $(CC) -o testvit testvit.o viterbi.o nrutil.o sequence.o /
  hmmutils.o  hmmrand.o -lm
testfor: testfor.o forward.o nrutil.o hmmutils.o sequence.o hmmrand.o
  $(CC) -o testfor testfor.o forward.o nrutil.o sequence.o /
  hmmutils.o  hmmrand.o -lm
esthmm: esthmm.o baum.o nrutil.o hmmutils.o sequence.o /
  forward.o backward.o hmmrand.o
  $(CC) -o esthmm esthmm.o baum.o nrutil.o sequence.o hmmutils.o /
  forward.o backward.o hmmrand.o -lm
clean:
 rm *.o a.out

cygwin下编译,出现错误:
make: 'all' is up to date

联想到all下应该都是些.exe文件,作下修改,其余不变。修改如下:
all : genseq.exe testvit.exe testfor.exe esthmm.exe
 
genseq.exe: genseq.o sequence.o nrutil.o hmmutils.o  hmmrand.o
  $(CC) -o genseq genseq.o sequence.o nrutil.o /
 hmmrand.o hmmutils.o  -lm
testvit.exe: testvit.o viterbi.o nrutil.o hmmutils.o sequence.o
  $(CC) -o testvit testvit.o viterbi.o nrutil.o sequence.o /
  hmmutils.o  hmmrand.o -lm
testfor.exe: testfor.o forward.o nrutil.o hmmutils.o sequence.o hmmrand.o
  $(CC) -o testfor testfor.o forward.o nrutil.o sequence.o /
  hmmutils.o  hmmrand.o -lm
esthmm.exe: esthmm.o baum.o nrutil.o hmmutils.o sequence.o /
  forward.o backward.o hmmrand.o
  $(CC) -o esthmm esthmm.o baum.o nrutil.o sequence.o hmmutils.o /
  forward.o backward.o hmmrand.o -lm

编译完成完成,makefile的东西还有待学习。后面再

'all' is up to date 提示没有更新,把原来的.o,.exe文件删除,重新编译就OK了。

发布了39 篇原创文章 · 获赞 11 · 访问量 10万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章