include $(REP_DIR)/lib/mk/mesa.inc MESA_SUBDIRS = main math vbo shader shader/slang glapi # collect all source codes in 'MESA_SUBDIRS' SRC_C := $(foreach subdir,$(MESA_SUBDIRS),$(wildcard $(MESA_SRC_DIR)/$(subdir)/*.c)) # prevent definition conflicts in lex.yy.c with libc CC_OPT_lex_yy += -DFLEXINT_H -include inttypes.h -Dflex_int32_t=int32_t -Dflex_int16_t=int16_t # dim warning noise for compiling contrib code CC_OPT_bufferobj += -Wno-unused-but-set-variable CC_OPT_dlist += -Wno-unused-but-set-variable CC_OPT_glapi += -Wno-strict-aliasing CC_OPT_lex_yy += -Wno-unused-function CC_OPT_prog_print += -Wno-format CC_OPT_program += -Wno-enum-compare CC_OPT_shader_api += -Wno-unused-but-set-variable CC_OPT_slang_emit += -Wno-unused-but-set-variable CC_OPT_st_cb_texture += -Wno-strict-aliasing CC_OPT_texcompress_s3tc += -Wno-unused-but-set-variable CC_OPT_varray += -Wno-format # glsl library GLSL_SRC_DIR = $(MESA_DIR)/src/glsl GLSL_SUBDIRS = pp cl SRC_C += $(foreach subdir,$(GLSL_SUBDIRS),$(wildcard $(GLSL_SRC_DIR)/$(subdir)/*.c)) # strip leading directories - keep only the file names SRC_C := $(notdir $(SRC_C)) # remove non-needed files from list SRC_C := $(filter-out vsnprintf.c,$(SRC_C)) vpath %.c $(addprefix $(MESA_SRC_DIR)/,$(MESA_SUBDIRS)) vpath %.c $(addprefix $(GLSL_SRC_DIR)/,$(GLSL_SUBDIRS)) # # Compile built-in fragment and vertex shaders # # The shader programs are compiled to header files in a # 'library/' subdirectory, which are then included by mesa's # 'shader/slang' module. # SRC_GC := $(wildcard $(MESA_SRC_DIR)/shader/slang/library/*.gc) GEN_GC_H := $(notdir $(SRC_GC:.gc=_gc.h)) # make sure that the shaders are compiled prior the mesa source codes $(SRC_C:.c=.o): $(addprefix library/,$(GEN_GC_H)) $(addprefix library/,$(GEN_GC_H)): library library: $(VERBOSE)mkdir -p $@ library/%_gc.h: %.gc $(MSG_CONVERT)$@ $(VERBOSE)$(REP_DIR)/tool/mesa/glsl/compiler fragment $< $@ library/slang_vertex_builtin_gc.h: slang_vertex_builtin.gc $(MSG_CONVERT)$@ $(VERBOSE)$(REP_DIR)/tool/mesa/glsl/compiler vertex $< $@ vpath %.gc $(MESA_SRC_DIR)/shader/slang/library