• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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