include ../settings.mk
NATIVE_GL_LIB = $(shell ../findLib "libGL.so" "libGLESv2.so")
NATIVE_GLU_LIB = $(shell ../findLib "libGLU.so.1" "libGLESv2.so")

all: GL.5D GLU.5D

GL.5D: GL.sign
	$(FIND_5D_EXPORTS) GL.sign >GL.5D.new && mv GL.5D.new GL.5D
GL.sign: GL.symbols prototypes GL.override
	../generateSignatures $< $(NATIVE_GL_LIB) gl >GL.sign.new && cat GL.override >> GL.sign.new && mv GL.sign.new GL.sign
GL.symbols: $(NATIVE_GL_LIB) GL.obsoletes
	$(EXTRACT_GNU_SYMBOLS) $< > GL.symbols.new && cat GL.obsoletes >>GL.symbols.new && cat GL.symbols.new |sort |uniq -u >GL.symbols.new.new && mv GL.symbols.new.new GL.symbols

GLU.5D: GLU.sign
	$(FIND_5D_EXPORTS) GLU.sign >GLU.5D.new && mv GLU.5D.new GLU.5D
GLU.sign: GLU.symbols prototypes GLU.override
	../generateSignatures $< $(NATIVE_GLU_LIB) glu >GLU.sign.new && cat GLU.override >> GLU.sign.new && mv GLU.sign.new GLU.sign
GLU.symbols: $(NATIVE_GLU_LIB)
	$(EXTRACT_GNU_SYMBOLS) $< > GLU.symbols.new && mv GLU.symbols.new GLU.symbols
prototypes:  a.c
	gcc -aux-info prototypes a.c -lGL -lGLU
clean:
	rm -f GL.5D GL.sign GL.symbols.new.new GL.symbols.new
	rm -f GLU.5D GLU.sign
	rm -f a.out

distclean: clean
	rm -f GL.symbols
	rm -f GLU.symbols

install:
	install -m 755 -d $(DESTDIR)/usr/share/5D/OpenGL1
	install -m 644 GLU.5D $(DESTDIR)/usr/share/5D/OpenGL1/GLU.5D
	install -m 644 GL.5D $(DESTDIR)/usr/share/5D/OpenGL1/GL.5D
	install -m 644 init.5D $(DESTDIR)/usr/share/5D/OpenGL1/init.5D