LGL_SRCDIR=libgl
LGL_BUILDDIR=$(BUILDROOT)/libgl
LGL_DIRFILE=$(LGL_BUILDDIR)/.directory

LGL_INCLUDE= 

DIRECTORIES += $(LGL_BUILDDIR)

$(LGL_DIRFILE): $(BUILDROOT)/.directory $(LGL_SRCDIR)/Makefile
	@echo [mkdir] $(LGL_BUILDDIR)
	@mkdir -p $(LGL_BUILDDIR)
	@touch $(LGL_DIRFILE)

include $(LGL_SRCDIR)/gl_10/Makefile
include $(LGL_SRCDIR)/gl_11/Makefile
include $(LGL_SRCDIR)/gl_ext/Makefile
include $(LGL_SRCDIR)/glx/Makefile
include $(LGL_SRCDIR)/glx_encode/Makefile
include $(LGL_SRCDIR)/state/Makefile
include $(LGL_SRCDIR)/rasterizer/Makefile

LGL_LIBFILES += $(LGL_10_BUILDDIR)/glbegin.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glclear.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glclearcolor.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glcolorf.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glcullface.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/gldisable.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glenable.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glend.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glfrustum.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glgetstring.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glloadidentity.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glmatrixmode.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glrotatef.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glrotated.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glscalef.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glscaled.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glscissor.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/gltexcoordf.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glteximage2d.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/gltexsubimage2d.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/gltranslatef.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/gltranslated.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glvertex.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glvertexf.o
LGL_LIBFILES += $(LGL_10_BUILDDIR)/glviewport.o

LGL_LIBFILES += $(LGL_S_BUILDDIR)/renderfn.o
LGL_LIBFILES += $(LGL_S_BUILDDIR)/backbuffer.o
LGL_LIBFILES += $(LGL_S_BUILDDIR)/texture.o
LGL_LIBFILES += $(LGL_S_BUILDDIR)/matrix.o

LGL_LIBFILES += $(LGL_R_BUILDDIR)/blit.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/fillbuffer_bgr15.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/fillbuffer_bgr16.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/fillbuffer_bgr24.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/fillbuffer_bgra32.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/fillbuffer_i8.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/fillbuffer_rgb16.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/fillbuffer_rgb24.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/fillbuffer_rgba32.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/triflat.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/trigoraud.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/tritex.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/writebuffer_bgr15.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/writebuffer_bgr16.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/writebuffer_bgr24.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/writebuffer_bgra32.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/writebuffer_i8.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/writebuffer_rgb16.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/writebuffer_rgb24.o
LGL_LIBFILES += $(LGL_R_BUILDDIR)/writebuffer_rgba32.o

LGL_LIBFILES += $(LGL_GLX_BUILDDIR)/dispatch.o

LGL_LIBFILES += $(LGL_EXT_BUILDDIR)/glbindbuffer.o
#LGL_LIBFILES += $(LGL_EXT_BUILDDIR)/glblitext.o

LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxbegin.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxbindbuffer.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxclear.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxclearcolor.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxcolor3f.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxcolor4f.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxcullface.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxdisable.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxenable.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxend.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxgetstring.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxloadidentity.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxmatrixmode.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxscissor.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxtexsubimage1d.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxtexsubimage2d.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxvertexf.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/glxviewport.o
LGLX_LIBFILES += $(LGL_E_BUILDDIR)/mglswapbuffer.o

$(LGL_BUILDDIR)/libgl.a: $(LGLX_LIBFILES) $(TARGETDIR) $(LGL_DIRFILE)
	@echo [$(AR)] $@
	@$(RM) $(LGL_BUILDDIR)/libgl.a
	@$(AR) rcs $(LGL_BUILDDIR)/libgl.a $(LGLX_LIBFILES)

$(LGL_BUILDDIR)/libswgl.a: $(LGL_LIBFILES) $(TARGETDIR) $(LGL_DIRFILE) $(LGL_BUILDDIR)/libswgltest.elf
	@echo [$(AR)] $@
	@$(RM) $(LGL_BUILDDIR)/libswgl.a
	@$(AR) rcs $(LGL_BUILDDIR)/libswgl.a $(LGL_LIBFILES)

$(LGL_BUILDDIR)/libtest.o: $(LGL_SRCDIR)/libtest.c $(LGL_DIRFILE)
	@echo [$(CC)] $@
	@$(CC) $(CCPARMS) $(CFLAGS)  $< -o $@

$(LGL_BUILDDIR)/libswgltest.elf: $(LGL_LIBFILES) $(TARGETDIR) $(LGL_DIRFILE) $(LGL_BUILDDIR)/libtest.o $(BUILDROOT)/lib/libc.a
	@echo [$(LD)] $@
	@$(LD) $(LDPARMS) $(LGL_LIBFILES) $(LGL_BUILDDIR)/libtest.o -lc -o $@

$(LGL_BUILDDIR)/libgltest.elf: $(LGLX_LIBFILES) $(TARGETDIR) $(LGL_DIRFILE) $(LGL_BUILDDIR)/libtest.o  $(BUILDROOT)/lib/libc.a
	@echo [$(LD)] $@
	@$(LD) $(LDPARMS) $(LGLX_LIBFILES) $(LGL_BUILDDIR)/libtest.o -lc -o $@
