No rule?

Posted by Saryn on Wed 13 Aug 2003 12:11 AM — 6 posts, 24,087 views.

USA #0
This is the first time i've ever seen this error. Im even getting it with my last compiled backup smaug. I am using cygwin btw.

make sembia
make[1]: Entering directory `/cygdrive/c/smaug/src'
gcc -c -O -g3 -Wall -DIMC -DIMCSMAUG imc.c
gcc -c -O -g3 -Wall -DIMC -DIMCSMAUG act_comm.c
act_comm.c: In function `talk_channel':
act_comm.c:672: warning: unused variable `speakswell'
act_comm.c: In function `do_honor':
act_comm.c:961: warning: unused variable `clan_name'
act_comm.c: In function `do_honoremote':
act_comm.c:988: warning: unused variable `clan_name'
act_comm.c: In function `do_tell':
act_comm.c:1584: warning: unused variable `speakswell'
make[1]: *** No rule to make target `act_info.o', needed by `sembia'. Stop.
make[1]: Leaving directory `/cygdrive/c/smaug/src'
make: *** [all] Error 2

the line

make[1]: *** No rule to make target `act_info.o', needed by `sembia'. Stop.

strikes me as odd. The unused variables are normal messages in the compile. DOes anybody have any idea?
Australia Forum Administrator #1
Sounds like a problem in the makefile, hard to say what it is without seeing it.
USA #2

CC      = gcc
#PROF    = -p
NOCRYPT =

# Uncomment the two lines below if compiling on a Solaris box
#SOLARIS_FLAG = -Dsun -DSYSV
#SOLARIS_LINK = -lnsl -lsocket

#Uncomment the line below if you are getting a line like:
#interp.c:757: warning: int format, time_t arg (arg 7)
#TIME = -DTIMEFORMAT

#Uncomment the line below if you are getting implicit decleration of re_exec
#REG = -DREGEX

#Uncomment the line below if you are getting undefined re_exec errors
#NEED_REG = -lgnuregex

#Intermud-3 - Comment out to disable I3 support in your code
#I3 = 1

#IMC2 - Comment out to disable IMC2 support
IMC = 1

#Uncomment the line below if you are getting undefined crypt errors
#NEED_CRYPT = -lcrypt

#DBUGFLG = -DREQUESTS

#Uncomment the line below if you want a performance increase though beware
#your core files may not be as much of a benefit if you do.
#OPT_FLAG = -finline-functions -funroll-loops -fdefer-pop -fstrength-reduce

C_FLAGS = $(OPT_FLAG) -O -g3 -Wall $(PROF) $(NOCRYPT) $(DBUGFLG) $(SOLARIS_FLAG) $(TIME) $(REG)
L_FLAGS = $(OPT_FLAG) $(PROF) $(SOLARIS_LINK) $(NEED_CRYPT) -lz

O_FILES = act_comm.o act_info.o act_move.o act_obj.o act_wiz.o boards.o \
          build.o clans.o comm.o comments.o const.o db.o deity.o fight.o \
          handler.o hashstr.o ibuild.o ident.o interp.o magic.o makeobjs.o \
          mapout.o misc.o mpxset.o mud_comm.o mud_prog.o player.o polymorph.o \
          requests.o reset.o save.o shops.o skills.o special.o tables.o \
          track.o update.o grub.o stat_obj.o ban.o services.o planes.o \
          imm_host.o colorize.o 

C_FILES = act_comm.c act_info.c act_move.c act_obj.c act_wiz.c boards.c \
          build.c clans.c comm.c comments.c const.c db.c deity.c fight.c \
          handler.c hashstr.c ibuild.c ident.c interp.c magic.c makeobjs.c \
          mapout.c misc.c mpxset.c mud_comm.c mud_prog.c player.c polymorph.c \
          requests.c reset.c save.c shops.c skills.c special.c tables.c \
          track.c update.c grub.c stat_obj.c ban.c services.c planes.c \
          imm_host.c colorize.c 

H_FILES = mud.h bet.h

#Added by Samson
ifdef I3
   C_FILES := i3.c $(C_FILES)
   O_FILES := i3.o $(O_FILES)
   C_FLAGS := $(C_FLAGS) -DI3 -DI3SMAUG
endif

#Added by Samson
ifdef IMC
   C_FILES := imc.c $(C_FILES)
   O_FILES := imc.o $(O_FILES)
   C_FLAGS := $(C_FLAGS) -DIMC -DIMCSMAUG
endif

all:
	make sembia

sembia: $(O_FILES)
	rm -f sembia
	$(CC) $(L_FLAGS) $(USE_IMC) -o sembia $(O_FILES)
	chmod g+w sembia
	chmod a+x sembia
	chmod g+w $(O_FILES)

.c.o: mud.h
	$(CC) -c $(C_FLAGS) $(USE_IMC) $<

clean:
	rm -f *.o sembia *~


This be my make file. It has not been touched for about 20 complies now. If anybody sees anything wrong with it and knows how to fix it, I will love you.
Australia Forum Administrator #3
I can't really explain that. I pasted your makefile into Cygin and compiled OK (I delete act_info.o to force a compile) ...


$ make
make sembia
make[1]: Entering directory `/home/nick/smaug/dist/src'
gcc -c  -O -g3 -Wall       -DIMC -DIMCSMAUG  act_comm.c
rm -f sembia
(link errors followed here because I did not have the IMC files).

USA #4
I had Saryn send me his src for me to take a look (it's an old AethiaMUD beta I gave him about a year ago). The problem was that the file had somehow been renamed to 'ACT_INFO.C' instead of 'act_info.c'. I immediately spotted this problem, and it compiled fine after I fixed it. =)
USA #5
Yeah Kris that wanker. Hes been helping me a lot. Can't believe I didnt see that file!