witam. Stworzylem makefile ktory powinien mi kompilowac pliki lacznie z plikiem flex. Ale podczas wywolywania make -f mymake otrzymuje nastepujacy error:
flex lexer_flex.l
gcc lex.yy.c -lfl
/tmp/ccaKWf9I.o: In functionyylex': lex.yy.c:(.text+0x246): undefined reference to
lookup'
lex.yy.c:(.text+0x264): undefined reference toinsert' lex.yy.c:(.text+0x279): undefined reference to
symtable'
collect2: ld returned 1 exit status
make: *** [lexer.o] Error 1
definicje funkcji lookup i insert, symptable sa umieszczone w pliku naglowkowy gl.h
a oto moj makefile:
CC=gcc
CFLAGS=-c -Wall
BIBL = gl.h
FLEX = flex
all: make_init
make_init: flex.c main.o error.o init.o lexer.o
$(CC) flex.c main.o error.o init.o lexer.o -o make_init
flex.c: lexer_flex.l
$(FLEX) lexer_flex.l
main.o: main.c
$(CC) $(CFLAGS) main.c
error.o: error.c ${BIBL}
$(CC) $(CFLAGS) error.c
init.o: init.c ${BIBL}
$(CC) $(CFLAGS) init.c
lexer.o: lex.yy.c
$(CC) lex.yy.c -lfl
clean:
rm -rf *o make_init
prosze o pomoc,sprawa jest na prawde pilna