Home | History | Annotate | Download | only in gen
      1 # These are the "official" xserver indent flags from utils/modular/x-indent.sh
      2 XORG_INDENT_FLAGS = -linux -bad -bap -blf -bli0 -cbi0 -cdw -nce -cs -i4 -lc80 -psl -nbbo \
      3     -nbc -psl -nbfda -nut -nss -T pointer -T ScreenPtr -T ScrnInfoPtr -T pointer \
      4     -T DeviceIntPtr -T DevicePtr -T ClientPtr -T CallbackListPtr \
      5     -T CallbackProcPtr -T OsTimerPtr -T CARD32 -T CARD16 -T CARD8 \
      6     -T INT32 -T INT16 -T INT8 -T Atom -T Time -T WindowPtr -T DrawablePtr \
      7     -T PixmapPtr -T ColormapPtr -T CursorPtr -T Font -T XID -T Mask \
      8     -T BlockHandlerProcPtr -T WakeupHandlerProcPtr -T RegionPtr \
      9     -T InternalEvent -T GrabPtr -T Timestamp -T Bool -T TimeStamp \
     10     -T xEvent -T DeviceEvent -T RawDeviceEvent -T GrabMask -T Window \
     11     -T Drawable -T FontPtr -T CallbackPtr -T XIPropertyValuePtr \
     12     -T GrabParameters -T deviceKeyButtonPointer -T TouchOwnershipEvent \
     13     -T xGenericEvent -T DeviceChangedEvent -T GCPtr -T BITS32 \
     14     -T xRectangle -T BoxPtr -T RegionRec -T ValuatorMask -T KeyCode \
     15     -T KeySymsPtr -T XkbDescPtr -T InputOption -T XI2Mask -T DevUnion \
     16     -T DevPrivateKey -T DevScreenPrivateKey -T PropertyPtr -T RESTYPE \
     17     -T XkbAction -T XkbChangesPtr -T XkbControlsPtr -T PrivatePtr -T pmWait \
     18     -T _XFUNCPROTOBEGIN -T _XFUNCPROTOEND -T _X_EXPORT
     19 
     20 
     21 MESA_DIR = $(top_builddir)/src/mesa
     22 MESA_GLAPI_DIR = $(top_builddir)/src/mapi/glapi
     23 MESA_MAPI_DIR = $(top_srcdir)/src/mapi
     24 MESA_GLX_DIR = $(top_builddir)/src/glx
     25 
     26 MESA_GLAPI_OUTPUTS = \
     27 	$(MESA_GLAPI_DIR)/glapi_mapi_tmp.h \
     28 	$(MESA_GLAPI_DIR)/glprocs.h \
     29 	$(MESA_GLAPI_DIR)/glapitemp.h \
     30 	$(MESA_GLAPI_DIR)/glapitable.h
     31 
     32 if HAVE_APPLEDRI
     33 MESA_GLAPI_OUTPUTS += $(MESA_GLAPI_DIR)/glapi_gentable.c
     34 endif
     35 if HAVE_WINDOWSDRI
     36 MESA_GLAPI_OUTPUTS += $(MESA_GLAPI_DIR)/glapi_gentable.c
     37 endif
     38 
     39 MESA_GLAPI_ASM_OUTPUTS =
     40 if HAVE_X86_ASM
     41 if HAVE_X86_64_ASM
     42 MESA_GLAPI_ASM_OUTPUTS += $(MESA_GLAPI_DIR)/glapi_x86-64.S
     43 else
     44 MESA_GLAPI_ASM_OUTPUTS += $(MESA_GLAPI_DIR)/glapi_x86.S
     45 endif
     46 endif
     47 
     48 if HAVE_SPARC_ASM
     49 MESA_GLAPI_ASM_OUTPUTS += $(MESA_GLAPI_DIR)/glapi_sparc.S
     50 endif
     51 
     52 BUILT_SOURCES = \
     53 	$(MESA_GLAPI_OUTPUTS) \
     54 	$(MESA_GLAPI_ASM_OUTPUTS) \
     55 	$(MESA_DIR)/main/enums.c \
     56 	$(MESA_DIR)/main/api_exec.c \
     57 	$(MESA_DIR)/main/dispatch.h \
     58 	$(MESA_DIR)/main/remap_helper.h \
     59 	$(MESA_GLX_DIR)/indirect.c \
     60 	$(MESA_GLX_DIR)/indirect.h \
     61 	$(MESA_GLX_DIR)/indirect_init.c \
     62 	$(MESA_GLX_DIR)/indirect_size.h \
     63 	$(MESA_GLX_DIR)/indirect_size.c
     64 EXTRA_DIST= \
     65 	$(BUILT_SOURCES) \
     66 	$(MESA_GLAPI_DIR)/glapi_gentable.c \
     67 	$(MESA_GLAPI_DIR)/glapi_x86.S \
     68 	$(MESA_GLAPI_DIR)/glapi_x86-64.S \
     69 	$(MESA_GLAPI_DIR)/glapi_sparc.S \
     70 	$(COMMON_GLX) \
     71 	apiexec.py \
     72 	gl_apitemp.py \
     73 	gl_enums.py \
     74 	gl_genexec.py \
     75 	gl_gentable.py \
     76 	gl_procs.py \
     77 	gl_SPARC_asm.py \
     78 	gl_table.py \
     79 	gl_x86-64_asm.py \
     80 	gl_x86_asm.py \
     81 	glX_proto_recv.py \
     82 	glX_proto_send.py \
     83 	glX_proto_size.py \
     84 	glX_server_table.py \
     85 	remap_helper.py \
     86 	static_data.py \
     87 	SConscript \
     88 	gl_API.dtd
     89 
     90 ######################################################################
     91 
     92 XORG_GLX_DIR = $(XORG_BASE)/glx
     93 XORG_GLAPI_DIR = $(XORG_BASE)/glx
     94 
     95 XORG_OUTPUTS = \
     96 	$(XORG_GLX_DIR)/indirect_dispatch.c \
     97 	$(XORG_GLX_DIR)/indirect_dispatch_swap.c \
     98 	$(XORG_GLX_DIR)/indirect_dispatch.h \
     99 	$(XORG_GLX_DIR)/indirect_reqsize.c \
    100 	$(XORG_GLX_DIR)/indirect_reqsize.h \
    101 	$(XORG_GLX_DIR)/indirect_size.h \
    102 	$(XORG_GLX_DIR)/indirect_size_get.c \
    103 	$(XORG_GLX_DIR)/indirect_size_get.h \
    104 	$(XORG_GLX_DIR)/indirect_table.c
    105 
    106 .PHONY: $(XORG_OUTPUTS)
    107 
    108 ######################################################################
    109 
    110 API_XML = \
    111 	gl_API.xml \
    112 	es_EXT.xml \
    113 	gl_and_es_API.xml \
    114 	gl_and_glX_API.xml \
    115 	ARB_base_instance.xml \
    116 	ARB_blend_func_extended.xml \
    117 	ARB_clear_buffer_object.xml \
    118 	ARB_clear_texture.xml \
    119 	ARB_clip_control.xml \
    120 	ARB_color_buffer_float.xml \
    121 	ARB_compressed_texture_pixel_storage.xml \
    122 	ARB_compute_shader.xml \
    123 	ARB_compute_variable_group_size.xml \
    124 	ARB_copy_buffer.xml \
    125 	ARB_copy_image.xml \
    126 	ARB_debug_output.xml \
    127 	ARB_depth_buffer_float.xml \
    128 	ARB_depth_clamp.xml \
    129 	ARB_direct_state_access.xml \
    130 	ARB_draw_buffers.xml \
    131 	ARB_draw_buffers_blend.xml \
    132 	ARB_draw_elements_base_vertex.xml \
    133 	ARB_draw_indirect.xml \
    134 	ARB_draw_instanced.xml \
    135 	ARB_ES2_compatibility.xml \
    136 	ARB_ES3_compatibility.xml \
    137 	ARB_framebuffer_no_attachments.xml \
    138 	ARB_framebuffer_object.xml \
    139 	ARB_get_program_binary.xml \
    140 	ARB_get_texture_sub_image.xml \
    141 	ARB_gpu_shader_fp64.xml \
    142 	ARB_gpu_shader5.xml \
    143 	ARB_indirect_parameters.xml \
    144 	ARB_instanced_arrays.xml \
    145 	ARB_internalformat_query.xml \
    146 	ARB_internalformat_query2.xml \
    147 	ARB_invalidate_subdata.xml \
    148 	ARB_map_buffer_range.xml \
    149 	ARB_multi_bind.xml \
    150 	ARB_pipeline_statistics_query.xml \
    151 	ARB_program_interface_query.xml \
    152 	ARB_robustness.xml \
    153 	ARB_sample_shading.xml \
    154 	ARB_sampler_objects.xml \
    155 	ARB_seamless_cube_map.xml \
    156 	ARB_separate_shader_objects.xml \
    157 	ARB_shader_atomic_counters.xml \
    158 	ARB_shader_image_load_store.xml \
    159 	ARB_shader_subroutine.xml \
    160 	ARB_shader_storage_buffer_object.xml \
    161 	ARB_sync.xml \
    162 	ARB_tessellation_shader.xml \
    163 	ARB_texture_barrier.xml \
    164 	ARB_texture_buffer_object.xml \
    165 	ARB_texture_buffer_range.xml \
    166 	ARB_texture_compression_rgtc.xml \
    167 	ARB_texture_cube_map_array.xml \
    168 	ARB_texture_float.xml \
    169 	ARB_texture_gather.xml \
    170 	ARB_texture_multisample.xml \
    171 	ARB_texture_rgb10_a2ui.xml \
    172 	ARB_texture_rg.xml \
    173 	ARB_texture_storage_multisample.xml \
    174 	ARB_texture_storage.xml \
    175 	ARB_texture_view.xml \
    176 	ARB_uniform_buffer_object.xml \
    177 	ARB_vertex_array_object.xml \
    178 	ARB_vertex_attrib_64bit.xml \
    179 	ARB_vertex_attrib_binding.xml \
    180 	ARB_viewport_array.xml \
    181 	AMD_draw_buffers_blend.xml \
    182 	AMD_performance_monitor.xml \
    183 	ARB_vertex_type_2_10_10_10_rev.xml \
    184 	APPLE_object_purgeable.xml \
    185 	APPLE_vertex_array_object.xml \
    186 	EXT_draw_buffers2.xml \
    187 	EXT_framebuffer_object.xml \
    188 	EXT_gpu_shader4.xml \
    189 	EXT_packed_depth_stencil.xml \
    190 	EXT_provoking_vertex.xml \
    191 	EXT_separate_shader_objects.xml \
    192 	EXT_texture_array.xml \
    193 	EXT_texture_integer.xml \
    194 	EXT_transform_feedback.xml \
    195 	EXT_window_rectangles.xml \
    196 	GREMEDY_string_marker.xml \
    197 	INTEL_performance_query.xml \
    198 	KHR_debug.xml \
    199 	KHR_context_flush_control.xml \
    200 	KHR_robustness.xml \
    201 	KHR_robustness_es.xml \
    202 	KHR_texture_compression_astc.xml \
    203 	NV_conditional_render.xml \
    204 	NV_primitive_restart.xml \
    205 	NV_texture_barrier.xml \
    206 	NV_vdpau_interop.xml \
    207 	OES_EGL_image.xml \
    208 	OES_fixed_point.xml \
    209 	OES_single_precision.xml \
    210 	OES_texture_compression_astc.xml \
    211 	GL3x.xml \
    212 	GL4x.xml
    213 
    214 COMMON = $(API_XML) \
    215 	gl_XML.py \
    216 	glX_XML.py \
    217 	license.py \
    218 	static_data.py \
    219 	typeexpr.py
    220 
    221 COMMON_GLX = $(COMMON) glX_API.xml glX_XML.py glX_proto_common.py
    222 
    223 PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
    224 
    225 ######################################################################
    226 
    227 xorg: check-xorg-source $(XORG_OUTPUTS)
    228 
    229 check-xorg-source:
    230 	@if ! test -d $(XORG_GLX_DIR); then \
    231 		echo "ERROR: Must specify path to xserver/ checkout. Set XORG_BASE env var."; \
    232 		if test x$(XORG_BASE) != x; then \
    233 			echo "'$(XORG_GLX_DIR)' does not exist."; \
    234 		fi; \
    235 		exit 1; \
    236 	fi
    237 
    238 clean-local:
    239 	-rm -f *~ *.pyo
    240 
    241 ######################################################################
    242 
    243 $(XORG_GLAPI_DIR)/%.c: $(MESA_GLAPI_DIR)/%.c
    244 	$(INDENT) $(XORG_INDENT_FLAGS) < $< > $@
    245 
    246 $(XORG_GLAPI_DIR)/dispatch.h: $(MESA_DIR)/main/dispatch.h
    247 	$(INDENT) $(XORG_INDENT_FLAGS) < $< > $@
    248 
    249 $(XORG_GLAPI_DIR)/%.h: $(MESA_GLAPI_DIR)/%.h
    250 	$(INDENT) $(XORG_INDENT_FLAGS) < $< > $@
    251 
    252 ######################################################################
    253 
    254 $(MESA_GLAPI_DIR)/glapi_mapi_tmp.h: $(MESA_MAPI_DIR)/mapi_abi.py $(COMMON)
    255 	$(PYTHON_GEN) $(MESA_MAPI_DIR)/mapi_abi.py \
    256 		--printer glapi --mode lib $(srcdir)/gl_and_es_API.xml > $@
    257 
    258 $(MESA_GLAPI_DIR)/glprocs.h: gl_procs.py $(COMMON)
    259 	$(PYTHON_GEN) $(srcdir)/gl_procs.py -c -f $(srcdir)/gl_and_es_API.xml > $@
    260 
    261 $(MESA_GLAPI_DIR)/glapitemp.h: gl_apitemp.py $(COMMON)
    262 	$(PYTHON_GEN) $(srcdir)/gl_apitemp.py -f $(srcdir)/gl_and_es_API.xml > $@
    263 
    264 $(MESA_GLAPI_DIR)/glapitable.h: gl_table.py $(COMMON)
    265 	$(PYTHON_GEN) $(srcdir)/gl_table.py -f $(srcdir)/gl_and_es_API.xml > $@
    266 
    267 $(MESA_GLAPI_DIR)/glapi_gentable.c: gl_gentable.py $(COMMON)
    268 	$(PYTHON_GEN) $(srcdir)/gl_gentable.py -f $(srcdir)/gl_and_es_API.xml > $@
    269 
    270 ######################################################################
    271 
    272 $(MESA_GLAPI_DIR)/glapi_x86.S: gl_x86_asm.py $(COMMON)
    273 	$(PYTHON_GEN) $(srcdir)/gl_x86_asm.py -f $(srcdir)/gl_and_es_API.xml > $@
    274 
    275 $(MESA_GLAPI_DIR)/glapi_x86-64.S: gl_x86-64_asm.py $(COMMON)
    276 	$(PYTHON_GEN) $(srcdir)/gl_x86-64_asm.py -f $(srcdir)/gl_and_es_API.xml > $@
    277 
    278 $(MESA_GLAPI_DIR)/glapi_sparc.S: gl_SPARC_asm.py $(COMMON)
    279 	$(PYTHON_GEN) $(srcdir)/gl_SPARC_asm.py -f $(srcdir)/gl_and_es_API.xml > $@
    280 
    281 ######################################################################
    282 
    283 $(MESA_DIR)/main/enums.c: gl_enums.py $(srcdir)/../registry/gl.xml
    284 	$(PYTHON_GEN) $(srcdir)/gl_enums.py -f $(srcdir)/../registry/gl.xml > $@
    285 
    286 $(MESA_DIR)/main/api_exec.c: gl_genexec.py apiexec.py $(COMMON)
    287 	$(PYTHON_GEN) $(srcdir)/gl_genexec.py -f $(srcdir)/gl_and_es_API.xml > $@
    288 
    289 $(MESA_DIR)/main/dispatch.h: gl_table.py $(COMMON)
    290 	$(PYTHON_GEN) $(srcdir)/gl_table.py -f $(srcdir)/gl_and_es_API.xml -m remap_table > $@
    291 
    292 $(MESA_DIR)/main/remap_helper.h: remap_helper.py $(COMMON)
    293 	$(PYTHON_GEN) $(srcdir)/remap_helper.py -f $(srcdir)/gl_and_es_API.xml > $@
    294 
    295 ######################################################################
    296 
    297 $(MESA_GLX_DIR)/indirect.c: glX_proto_send.py $(COMMON_GLX)
    298 	$(PYTHON_GEN) $(srcdir)/glX_proto_send.py -f $(srcdir)/gl_API.xml -m proto \
    299 	  | $(INDENT) $(INDENT_FLAGS) > $@
    300 
    301 $(MESA_GLX_DIR)/indirect.h: glX_proto_send.py $(COMMON_GLX)
    302 	$(PYTHON_GEN) $(srcdir)/glX_proto_send.py -f $(srcdir)/gl_API.xml -m init_h > $@
    303 
    304 $(MESA_GLX_DIR)/indirect_init.c: glX_proto_send.py $(COMMON_GLX)
    305 	$(PYTHON_GEN) $(srcdir)/glX_proto_send.py -f $(srcdir)/gl_API.xml -m init_c > $@
    306 
    307 $(MESA_GLX_DIR)/indirect_size.h $(XORG_GLX_DIR)/indirect_size.h: glX_proto_size.py $(COMMON_GLX)
    308 	$(PYTHON_GEN) $(srcdir)/glX_proto_size.py -f $(srcdir)/gl_API.xml -m size_h --only-set \
    309 	    --header-tag _INDIRECT_SIZE_H_ \
    310 	  | $(INDENT) $(INDENT_FLAGS) > $@
    311 
    312 $(MESA_GLX_DIR)/indirect_size.c: glX_proto_size.py $(COMMON_GLX)
    313 	$(PYTHON_GEN) $(srcdir)/glX_proto_size.py -f $(srcdir)/gl_API.xml -m size_c --only-set \
    314 	  | $(INDENT) $(INDENT_FLAGS) > $@
    315 
    316 ######################################################################
    317 
    318 $(XORG_GLX_DIR)/indirect_dispatch.c: glX_proto_recv.py $(COMMON_GLX)
    319 	$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m dispatch_c \
    320 	| $(INDENT) $(XORG_INDENT_FLAGS) > $@
    321 
    322 $(XORG_GLX_DIR)/indirect_dispatch_swap.c: glX_proto_recv.py $(COMMON_GLX)
    323 	$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m dispatch_c -s \
    324 	| $(INDENT) $(XORG_INDENT_FLAGS) > $@
    325 
    326 $(XORG_GLX_DIR)/indirect_dispatch.h: glX_proto_recv.py gl_and_glX_API.xml $(COMMON_GLX)
    327 	$(PYTHON_GEN) $< -m dispatch_h -f $(srcdir)/gl_and_glX_API.xml -s \
    328 	| $(INDENT) $(XORG_INDENT_FLAGS) > $@
    329 
    330 $(XORG_GLX_DIR)/indirect_size_get.h: glX_proto_size.py $(COMMON_GLX)
    331 	$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m size_h \
    332            --only-get --header-tag '_INDIRECT_SIZE_GET_H_' \
    333 	  | $(INDENT) $(XORG_INDENT_FLAGS) > $@
    334 
    335 $(XORG_GLX_DIR)/indirect_size_get.c: glX_proto_size.py $(COMMON_GLX)
    336 	$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m size_c \
    337 	  | $(INDENT) $(INDENT_FLAGS) > $@
    338 
    339 $(XORG_GLX_DIR)/indirect_reqsize.h: glX_proto_size.py $(COMMON_GLX)
    340 	$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m reqsize_h \
    341            --only-get --header-tag '_INDIRECT_SIZE_GET_H_' \
    342 	  | $(INDENT) $(XORG_INDENT_FLAGS) > $@
    343 
    344 $(XORG_GLX_DIR)/indirect_reqsize.c: glX_proto_size.py $(COMMON_GLX)
    345 	$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m reqsize_c \
    346           | $(INDENT) $(XORG_INDENT_FLAGS) > $@
    347 
    348 $(XORG_GLX_DIR)/indirect_table.c: glX_server_table.py gl_and_glX_API.xml $(COMMON_GLX)
    349 	$(PYTHON_GEN) $< -f $(srcdir)/gl_and_glX_API.xml \
    350 	| $(INDENT) $(XORG_INDENT_FLAGS) > $@
    351