CC=gcc
CFLAGS= -g -O2 -c -ansi -pedantic -Wall
LIBOBJS= md5mesh.tab.o lex.MD5MESH_.o md5anim.tab.o lex.MD5ANIM_.o libmd5model.o
AR= ar rc

all:	libmd5model.a

libmd5model.a:	$(LIBOBJS)
		$(AR) $@ $(LIBOBJS)
		ranlib $@
	
libmd5model.o:	libmd5model.c libmd5model.h md5mesh.tab.c lex.MD5MESH_.c md5anim.tab.c lex.MD5ANIM_.c
	$(CC) $(CFLAGS) libmd5model.c

md5mesh.tab.o:	lex.MD5MESH_.o md5mesh.tab.c
	$(CC) $(CFLAGS) md5mesh.tab.c

lex.MD5MESH_.o:	lex.MD5MESH_.c md5mesh.tab.h
	$(CC) $(CFLAGS) lex.MD5MESH_.c

md5mesh.tab.c:	md5mesh.bison md5mesh.flex
	bison -d -p MD5MESH_ -o md5mesh.tab.c md5mesh.bison

lex.MD5MESH_.c:	md5mesh.flex md5mesh.tab.c md5mesh.bison
	flex -PMD5MESH_ md5mesh.flex

md5mesh.tab.c:	libmd5model.h

md5anim.tab.o:	lex.MD5ANIM_.o md5anim.tab.c
	$(CC) $(CFLAGS) md5anim.tab.c

lex.MD5ANIM_.o:	lex.MD5ANIM_.c md5anim.tab.h
	$(CC) $(CFLAGS) lex.MD5ANIM_.c

md5anim.tab.c:	md5anim.bison md5anim.flex
	bison -d -p MD5ANIM_ -o md5anim.tab.c md5anim.bison

lex.MD5ANIM_.c:	md5anim.flex md5anim.tab.c md5anim.bison
	flex -PMD5ANIM_ md5anim.flex

md5anim.tab.c:	libmd5model.h

clean:
	-rm *.o lex.MD5MESH_.c md5mesh.tab.c md5mesh.tab.h lex.MD5ANIM_.c md5anim.tab.c md5anim.tab.h libmd5model.a
