# shared source lists for Makefile, SConscript, and Android.mk

GLSL_SRCDIR = $(top_srcdir)/src/glsl
GLSL_BUILDDIR = $(top_builddir)/src/glsl

# libglcpp

LIBGLCPP_FILES = \
	$(GLSL_SRCDIR)/glcpp/pp.c

LIBGLCPP_GENERATED_FILES = \
	$(GLSL_BUILDDIR)/glcpp/glcpp-lex.c \
	$(GLSL_BUILDDIR)/glcpp/glcpp-parse.c

# libglsl

LIBGLSL_FILES = \
	$(GLSL_SRCDIR)/strtod.c \
	$(GLSL_SRCDIR)/ralloc.c

LIBGLSL_CXX_FILES = \
	$(GLSL_SRCDIR)/ast_expr.cpp \
	$(GLSL_SRCDIR)/ast_function.cpp \
	$(GLSL_SRCDIR)/ast_to_hir.cpp \
	$(GLSL_SRCDIR)/ast_type.cpp \
	$(GLSL_SRCDIR)/builtin_variables.cpp \
	$(GLSL_SRCDIR)/glsl_parser_extras.cpp \
	$(GLSL_SRCDIR)/glsl_types.cpp \
	$(GLSL_SRCDIR)/glsl_symbol_table.cpp \
	$(GLSL_SRCDIR)/hir_field_selection.cpp \
	$(GLSL_SRCDIR)/ir_basic_block.cpp \
	$(GLSL_SRCDIR)/ir_builder.cpp \
	$(GLSL_SRCDIR)/ir_clone.cpp \
	$(GLSL_SRCDIR)/ir_constant_expression.cpp \
	$(GLSL_SRCDIR)/ir.cpp \
	$(GLSL_SRCDIR)/ir_expression_flattening.cpp \
	$(GLSL_SRCDIR)/ir_function_can_inline.cpp \
	$(GLSL_SRCDIR)/ir_function_detect_recursion.cpp \
	$(GLSL_SRCDIR)/ir_function.cpp \
	$(GLSL_SRCDIR)/ir_hierarchical_visitor.cpp \
	$(GLSL_SRCDIR)/ir_hv_accept.cpp \
	$(GLSL_SRCDIR)/ir_import_prototypes.cpp \
	$(GLSL_SRCDIR)/ir_print_visitor.cpp \
	$(GLSL_SRCDIR)/ir_reader.cpp \
	$(GLSL_SRCDIR)/ir_rvalue_visitor.cpp \
	$(GLSL_SRCDIR)/ir_set_program_inouts.cpp \
	$(GLSL_SRCDIR)/ir_validate.cpp \
	$(GLSL_SRCDIR)/ir_variable_refcount.cpp \
	$(GLSL_SRCDIR)/linker.cpp \
	$(GLSL_SRCDIR)/link_functions.cpp \
	$(GLSL_SRCDIR)/link_uniforms.cpp \
	$(GLSL_SRCDIR)/link_uniform_initializers.cpp \
	$(GLSL_SRCDIR)/loop_analysis.cpp \
	$(GLSL_SRCDIR)/loop_controls.cpp \
	$(GLSL_SRCDIR)/loop_unroll.cpp \
	$(GLSL_SRCDIR)/lower_clip_distance.cpp \
	$(GLSL_SRCDIR)/lower_discard.cpp \
	$(GLSL_SRCDIR)/lower_discard_flow.cpp \
	$(GLSL_SRCDIR)/lower_if_to_cond_assign.cpp \
	$(GLSL_SRCDIR)/lower_instructions.cpp \
	$(GLSL_SRCDIR)/lower_jumps.cpp \
	$(GLSL_SRCDIR)/lower_mat_op_to_vec.cpp \
	$(GLSL_SRCDIR)/lower_noise.cpp \
	$(GLSL_SRCDIR)/lower_texture_projection.cpp \
	$(GLSL_SRCDIR)/lower_variable_index_to_cond_assign.cpp \
	$(GLSL_SRCDIR)/lower_vec_index_to_cond_assign.cpp \
	$(GLSL_SRCDIR)/lower_vec_index_to_swizzle.cpp \
	$(GLSL_SRCDIR)/lower_vector.cpp \
	$(GLSL_SRCDIR)/lower_output_reads.cpp \
	$(GLSL_SRCDIR)/lower_ubo_reference.cpp \
	$(GLSL_SRCDIR)/opt_algebraic.cpp \
	$(GLSL_SRCDIR)/opt_array_splitting.cpp \
	$(GLSL_SRCDIR)/opt_constant_folding.cpp \
	$(GLSL_SRCDIR)/opt_constant_propagation.cpp \
	$(GLSL_SRCDIR)/opt_constant_variable.cpp \
	$(GLSL_SRCDIR)/opt_copy_propagation.cpp \
	$(GLSL_SRCDIR)/opt_copy_propagation_elements.cpp \
	$(GLSL_SRCDIR)/opt_dead_code.cpp \
	$(GLSL_SRCDIR)/opt_dead_code_local.cpp \
	$(GLSL_SRCDIR)/opt_dead_functions.cpp \
	$(GLSL_SRCDIR)/opt_function_inlining.cpp \
	$(GLSL_SRCDIR)/opt_if_simplification.cpp \
	$(GLSL_SRCDIR)/opt_noop_swizzle.cpp \
	$(GLSL_SRCDIR)/opt_redundant_jumps.cpp \
	$(GLSL_SRCDIR)/opt_structure_splitting.cpp \
	$(GLSL_SRCDIR)/opt_swizzle_swizzle.cpp \
	$(GLSL_SRCDIR)/opt_tree_grafting.cpp \
	$(GLSL_SRCDIR)/s_expression.cpp

# glsl_compiler

GLSL_COMPILER_CXX_FILES = \
	$(GLSL_SRCDIR)/standalone_scaffolding.cpp \
	$(GLSL_SRCDIR)/main.cpp

# builtin_compiler
#
# This is built before libglsl to generate builtin_funciton.cpp for libglsl.
# For this to work, a dummy version of builtin_function.cpp,
# builtin_stubs.cpp, is used.

BUILTIN_COMPILER_CXX_FILES = \
	$(GLSL_SRCDIR)/builtin_stubs.cpp

BUILTIN_COMPILER_GENERATED_CXX_FILES = \
	$(GLSL_BUILDDIR)/glsl_lexer.cc \
	$(GLSL_BUILDDIR)/glsl_parser.cc

# libglsl generated sources
LIBGLSL_GENERATED_CXX_FILES = \
	$(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
	$(GLSL_BUILDDIR)/builtin_function.cpp
