1# Copyright 2013-2020 The Khronos Group Inc. 2# SPDX-License-Identifier: Apache-2.0 3 4# Generator scripts and options 5# GENOPTS can be e.g. '-noprotect' 6 7PYFILES = genheaders.py reg.py 8GENOPTS = 9GENHEADERS = ./genheaders.py $(GENOPTS) 10 11# Generate all headers for GL / GLES / WGL / GLX 12# Different headers depend on different XML registry files 13# The $(GENHEADERS) script has targets for the additional headers 14# $(API)/GL/gl.h 15# $(API)/GL/glx.h 16# $(API)/GL/wgl.h 17# but these are experimental and not supported by Khronos. OpenGL 18# drivers and SDKs provided by OS vendors and IHVs include their own 19# platform-specific versions of these headers, where appropriate. 20 21API = ../api 22GLHEADERS = $(API)/GL/glext.h \ 23 $(API)/GL/glcorearb.h \ 24 $(API)/GLES/gl.h \ 25 $(API)/GLES/glext.h \ 26 $(API)/GLES2/gl2.h \ 27 $(API)/GLES2/gl2ext.h \ 28 $(API)/GLES3/gl3.h \ 29 $(API)/GLSC2/glsc2.h \ 30 $(API)/GLSC2/glsc2ext.h 31 32GLXHEADERS = $(API)/GL/glxext.h 33WGLHEADERS = $(API)/GL/wglext.h \ 34 $(API)/GL/wgl.h 35ALLHEADERS = $(GLHEADERS) $(GLXHEADERS) $(WGLHEADERS) 36 37# Generated files to clean up 38TEXDIRT = readme.aux readme.idx readme.ilg readme.ind readme.log readme.toc readme.out 39PYDIRT = diag.txt dumpReg.txt errwarn.txt reg.pyc 40 41default: $(ALLHEADERS) 42 43$(GLHEADERS): gl.xml $(PYFILES) 44 $(GENHEADERS) $@ 45 46$(GLXHEADERS): glx.xml $(PYFILES) 47 $(GENHEADERS) $@ -registry glx.xml 48 49$(WGLHEADERS): wgl.xml $(PYFILES) 50 $(GENHEADERS) $@ -registry wgl.xml 51 52# Generate Relax NG XML schema from Compact schema 53 54registry.rng: registry.rnc 55 trang registry.rnc registry.rng 56 57# Verify all registry XML files against the schema 58 59validate: 60 jing -c registry.rnc gl.xml 61 jing -c registry.rnc glx.xml 62 jing -c registry.rnc wgl.xml 63 64# Documentation target 65 66readme.pdf: readme.tex 67 touch readme.ind 68 pdflatex readme.tex 69 pdflatex readme.tex 70 makeindex readme.idx 71 pdflatex readme.tex 72 73clean: 74 -rm -f $(PYDIRT) $(TEXDIRT) 75