我有以下makefile
all: yesdata
CFLAGS=-fPIC
lex.yy.c: yesdata.l yesdata.tab.h
flex yesdata.l
yesdata.tab.c yesdata.tab.h: yesdata.y
bison -d yesdata.y
yesdata: lex.yy.c yesdata.tab.c yesdata.tab.h yesdata_util.c
gcc $(CFLAGS) -o yesdata yesdata.tab.c yesdata_util.c lex.yy.c -lyesdata -lyesprocess -ltest -ltestconf
clean:
rm yesdata yesdata.tab.c lex.yy.c yesdata.tab.h
我的lex
文件为yesdata.l
我的yacc文件是yesdata.y
我有一个C文件,其中包含一些函数yesdata_util.c
。
上面的makefile
将其编译为名为yesdata
的二进制文件。
现在main()
条目函数在yesdata.y
内定义。我想将main()
移到另一个C档案abcdef.c
我想编译abcdef.c
并将该C文件链接到文件
yesdata.l
,yesdata.y
和yesdata_util.c
。
如何使用makefile实现此目的?