15bd8deadSopenharmony_ci# Copyright 2013-2020 The Khronos Group Inc.
25bd8deadSopenharmony_ci# SPDX-License-Identifier: Apache-2.0
35bd8deadSopenharmony_ci
45bd8deadSopenharmony_ci# Generator scripts and options
55bd8deadSopenharmony_ci# GENOPTS can be e.g. '-noprotect'
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ciPYFILES = genheaders.py reg.py
85bd8deadSopenharmony_ciGENOPTS =
95bd8deadSopenharmony_ciGENHEADERS = ./genheaders.py $(GENOPTS)
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci# Generate all headers for GL / GLES / WGL / GLX
125bd8deadSopenharmony_ci# Different headers depend on different XML registry files
135bd8deadSopenharmony_ci# The $(GENHEADERS) script has targets for the additional headers
145bd8deadSopenharmony_ci#   $(API)/GL/gl.h
155bd8deadSopenharmony_ci#   $(API)/GL/glx.h
165bd8deadSopenharmony_ci#   $(API)/GL/wgl.h
175bd8deadSopenharmony_ci# but these are experimental and not supported by Khronos. OpenGL
185bd8deadSopenharmony_ci# drivers and SDKs provided by OS vendors and IHVs include their own
195bd8deadSopenharmony_ci# platform-specific versions of these headers, where appropriate.
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ciAPI	   = ../api
225bd8deadSopenharmony_ciGLHEADERS  = $(API)/GL/glext.h \
235bd8deadSopenharmony_ci	     $(API)/GL/glcorearb.h \
245bd8deadSopenharmony_ci	     $(API)/GLES/gl.h \
255bd8deadSopenharmony_ci	     $(API)/GLES/glext.h \
265bd8deadSopenharmony_ci	     $(API)/GLES2/gl2.h \
275bd8deadSopenharmony_ci	     $(API)/GLES2/gl2ext.h \
285bd8deadSopenharmony_ci	     $(API)/GLES3/gl3.h \
295bd8deadSopenharmony_ci	     $(API)/GLSC2/glsc2.h \
305bd8deadSopenharmony_ci	     $(API)/GLSC2/glsc2ext.h
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ciGLXHEADERS = $(API)/GL/glxext.h
335bd8deadSopenharmony_ciWGLHEADERS = $(API)/GL/wglext.h \
345bd8deadSopenharmony_ci	     $(API)/GL/wgl.h
355bd8deadSopenharmony_ciALLHEADERS = $(GLHEADERS) $(GLXHEADERS) $(WGLHEADERS)
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ci# Generated files to clean up
385bd8deadSopenharmony_ciTEXDIRT = readme.aux readme.idx readme.ilg readme.ind readme.log readme.toc readme.out
395bd8deadSopenharmony_ciPYDIRT	= diag.txt dumpReg.txt errwarn.txt reg.pyc
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_cidefault: $(ALLHEADERS)
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ci$(GLHEADERS): gl.xml $(PYFILES)
445bd8deadSopenharmony_ci	$(GENHEADERS) $@
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ci$(GLXHEADERS): glx.xml $(PYFILES)
475bd8deadSopenharmony_ci	$(GENHEADERS) $@ -registry glx.xml
485bd8deadSopenharmony_ci
495bd8deadSopenharmony_ci$(WGLHEADERS): wgl.xml $(PYFILES)
505bd8deadSopenharmony_ci	$(GENHEADERS) $@ -registry wgl.xml
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ci# Generate Relax NG XML schema from Compact schema
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ciregistry.rng: registry.rnc
555bd8deadSopenharmony_ci	trang registry.rnc registry.rng
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ci# Verify all registry XML files against the schema
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_civalidate:
605bd8deadSopenharmony_ci	jing -c registry.rnc gl.xml
615bd8deadSopenharmony_ci	jing -c registry.rnc glx.xml
625bd8deadSopenharmony_ci	jing -c registry.rnc wgl.xml
635bd8deadSopenharmony_ci
645bd8deadSopenharmony_ci# Documentation target
655bd8deadSopenharmony_ci
665bd8deadSopenharmony_cireadme.pdf: readme.tex
675bd8deadSopenharmony_ci	touch readme.ind
685bd8deadSopenharmony_ci	pdflatex readme.tex
695bd8deadSopenharmony_ci	pdflatex readme.tex
705bd8deadSopenharmony_ci	makeindex readme.idx
715bd8deadSopenharmony_ci	pdflatex readme.tex
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ciclean:
745bd8deadSopenharmony_ci	-rm -f $(PYDIRT) $(TEXDIRT)
75