# Copyright 2013-2020 The Khronos Group Inc. # SPDX-License-Identifier: Apache-2.0 # Generator scripts and options # GENOPTS can be e.g. '-noprotect' PYFILES = genheaders.py reg.py GENOPTS = GENHEADERS = ./genheaders.py $(GENOPTS) # Generate all headers for GL / GLES / WGL / GLX # Different headers depend on different XML registry files # The $(GENHEADERS) script has targets for the additional headers # $(API)/GL/gl.h # $(API)/GL/glx.h # $(API)/GL/wgl.h # but these are experimental and not supported by Khronos. OpenGL # drivers and SDKs provided by OS vendors and IHVs include their own # platform-specific versions of these headers, where appropriate. API = ../api GLHEADERS = $(API)/GL/glext.h \ $(API)/GL/glcorearb.h \ $(API)/GLES/gl.h \ $(API)/GLES/glext.h \ $(API)/GLES2/gl2.h \ $(API)/GLES2/gl2ext.h \ $(API)/GLES3/gl3.h GLXHEADERS = $(API)/GL/glxext.h WGLHEADERS = $(API)/GL/wglext.h \ $(API)/GL/wgl.h ALLHEADERS = $(GLHEADERS) $(GLXHEADERS) $(WGLHEADERS) # Generated files to clean up TEXDIRT = readme.aux readme.idx readme.ilg readme.ind readme.log readme.toc readme.out PYDIRT = diag.txt dumpReg.txt errwarn.txt reg.pyc default: $(ALLHEADERS) $(GLHEADERS): gl.xml $(PYFILES) $(GENHEADERS) $@ $(GLXHEADERS): glx.xml $(PYFILES) $(GENHEADERS) $@ -registry glx.xml $(WGLHEADERS): wgl.xml $(PYFILES) $(GENHEADERS) $@ -registry wgl.xml # Generate Relax NG XML schema from Compact schema registry.rng: registry.rnc trang registry.rnc registry.rng # Verify all registry XML files against the schema validate: jing -c registry.rnc gl.xml jing -c registry.rnc glx.xml jing -c registry.rnc wgl.xml # Documentation target readme.pdf: readme.tex touch readme.ind pdflatex readme.tex pdflatex readme.tex makeindex readme.idx pdflatex readme.tex clean: -rm -f $(PYDIRT) $(TEXDIRT)