Merge branch 'mesa_7_7_branch'
[mesa.git] / src / mesa / es / sources.mak
1 include $(MESA)/sources.mak
2
3 # LOCAL sources
4
5 LOCAL_ES1_SOURCES := \
6 main/api_exec_es1.c \
7 main/get_es1.c \
8 main/specials_es1.c \
9 main/drawtex.c \
10 main/es_cpaltex.c \
11 main/es_enable.c \
12 main/es_fbo.c \
13 main/es_query_matrix.c \
14 main/es_texgen.c \
15 main/stubs.c \
16 glapi/glapi-es1/main/enums.c
17
18 LOCAL_ES1_GALLIUM_SOURCES := \
19 $(LOCAL_ES1_SOURCES) \
20 state_tracker/st_cb_drawtex.c
21
22 # always use local version of GLAPI_ASM_SOURCES
23 LOCAL_ES1_API_ASM := $(addprefix glapi/glapi-es1/, $(GLAPI_ASM_SOURCES))
24
25 LOCAL_ES1_INCLUDES := \
26 -I. \
27 -I./glapi/glapi-es1 \
28 -I./state_tracker \
29 -I$(MESA)/state_tracker
30
31 LOCAL_ES2_SOURCES := \
32 main/api_exec_es2.c \
33 main/get_es2.c \
34 main/specials_es2.c \
35 main/es_cpaltex.c \
36 main/es_fbo.c \
37 main/stubs.c \
38 glapi/glapi-es2/main/enums.c
39
40 LOCAL_ES2_GALLIUM_SOURCES := \
41 $(LOCAL_ES2_SOURCES)
42
43 LOCAL_ES2_API_ASM := $(subst es1,es2, $(LOCAL_ES1_API_ASM))
44 LOCAL_ES2_INCLUDES := $(subst es1,es2, $(LOCAL_ES1_INCLUDES))
45
46 # MESA sources
47 # Ideally, the omit list should be replaced by features.
48
49 MAIN_OMITTED := \
50 main/api_exec.c \
51 main/condrender.c \
52 main/dlopen.c \
53 main/enums.c \
54 main/get.c
55 MAIN_SOURCES := $(filter-out $(MAIN_OMITTED), $(MAIN_SOURCES))
56
57 VBO_OMITTED := \
58 vbo/vbo_save.c \
59 vbo/vbo_save_api.c \
60 vbo/vbo_save_draw.c \
61 vbo/vbo_save_loopback.c
62 VBO_SOURCES := $(filter-out $(VBO_OMITTED), $(VBO_SOURCES))
63
64 STATETRACKER_OMITTED := \
65 state_tracker/st_api.c \
66 state_tracker/st_cb_drawpixels.c \
67 state_tracker/st_cb_feedback.c \
68 state_tracker/st_cb_rasterpos.c \
69 state_tracker/st_draw_feedback.c
70 STATETRACKER_SOURCES := $(filter-out $(STATETRACKER_OMITTED), $(STATETRACKER_SOURCES))
71
72 SHADER_OMITTED := \
73 shader/atifragshader.c
74 SHADER_SOURCES := $(filter-out $(SHADER_OMITTED), $(SHADER_SOURCES))
75
76 MESA_ES1_SOURCES := \
77 $(MAIN_SOURCES) \
78 $(MATH_SOURCES) \
79 $(MATH_XFORM_SOURCES) \
80 $(VBO_SOURCES) \
81 $(TNL_SOURCES) \
82 $(SHADER_SOURCES) \
83 $(SWRAST_SOURCES) \
84 $(SWRAST_SETUP_SOURCES) \
85 $(COMMON_DRIVER_SOURCES) \
86 $(ASM_C_SOURCES) \
87 $(SLANG_SOURCES)
88
89 MESA_ES1_GALLIUM_SOURCES := \
90 $(MAIN_SOURCES) \
91 $(MATH_SOURCES) \
92 $(VBO_SOURCES) \
93 $(STATETRACKER_SOURCES) \
94 $(SHADER_SOURCES) \
95 ppc/common_ppc.c \
96 x86/common_x86.c \
97 $(SLANG_SOURCES)
98
99 MESA_ES1_API_SOURCES := \
100 $(GLAPI_SOURCES)
101
102 MESA_ES1_INCLUDES := $(INCLUDE_DIRS)
103
104 # remove LOCAL sources from MESA sources
105 MESA_ES1_SOURCES := $(filter-out $(LOCAL_ES1_SOURCES), $(MESA_ES1_SOURCES))
106 MESA_ES1_GALLIUM_SOURCES := $(filter-out $(LOCAL_ES1_GALLIUM_SOURCES), $(MESA_ES1_GALLIUM_SOURCES))
107
108 # right now es2 and es1 share MESA sources
109 MESA_ES2_SOURCES := $(MESA_ES1_SOURCES)
110 MESA_ES2_GALLIUM_SOURCES := $(MESA_ES1_GALLIUM_SOURCES)
111 MESA_ES2_API_SOURCES := $(MESA_ES1_API_SOURCES)
112
113 MESA_ES2_INCLUDES := $(MESA_ES1_INCLUDES)
114
115 # asm is shared by any ES version and any library
116 MESA_ES_ASM := $(MESA_ASM_SOURCES)
117
118 # collect sources, adjust the pathes
119 ES1_SOURCES := $(LOCAL_ES1_SOURCES) $(addprefix $(MESA)/,$(MESA_ES1_SOURCES))
120 ES1_GALLIUM_SOURCES := $(LOCAL_ES1_GALLIUM_SOURCES) $(addprefix $(MESA)/,$(MESA_ES1_GALLIUM_SOURCES))
121 ES1_API_SOURCES := $(addprefix $(MESA)/,$(MESA_ES1_API_SOURCES))
122
123 ES2_SOURCES := $(LOCAL_ES2_SOURCES) $(addprefix $(MESA)/,$(MESA_ES2_SOURCES))
124 ES2_GALLIUM_SOURCES := $(LOCAL_ES2_GALLIUM_SOURCES) $(addprefix $(MESA)/,$(MESA_ES2_GALLIUM_SOURCES))
125 ES2_API_SOURCES := $(addprefix $(MESA)/,$(MESA_ES2_API_SOURCES))
126
127 # collect includes
128 ES1_INCLUDES := $(LOCAL_ES1_INCLUDES) $(MESA_ES1_INCLUDES)
129 ES2_INCLUDES := $(LOCAL_ES2_INCLUDES) $(MESA_ES2_INCLUDES)
130
131 # collect objects, including asm
132 ES1_OBJECTS := \
133 $(LOCAL_ES1_SOURCES:.c=.o) \
134 $(MESA_ES1_SOURCES:.c=.o) \
135 $(MESA_ES_ASM:.S=.o)
136
137 ES1_GALLIUM_OBJECTS := \
138 $(LOCAL_ES1_GALLIUM_SOURCES:.c=.o) \
139 $(MESA_ES1_GALLIUM_SOURCES:.c=.o) \
140 $(MESA_ES_ASM:.S=.o)
141
142 ES1_API_OBJECTS := \
143 $(LOCAL_ES1_API_ASM:.S=.o) \
144 $(MESA_ES1_API_SOURCES:.c=.o)
145
146 ES2_OBJECTS := \
147 $(LOCAL_ES2_SOURCES:.c=.o) \
148 $(MESA_ES2_SOURCES:.c=.o) \
149 $(MESA_ES_ASM:.S=.o)
150
151 ES2_GALLIUM_OBJECTS := \
152 $(LOCAL_ES2_GALLIUM_SOURCES:.c=.o) \
153 $(MESA_ES2_GALLIUM_SOURCES:.c=.o) \
154 $(MESA_ES_ASM:.S=.o)
155
156 ES2_API_OBJECTS := \
157 $(LOCAL_ES2_API_ASM:.S=.o) \
158 $(MESA_ES2_API_SOURCES:.c=.o)
159
160 # collect sources for makedepend
161 ES1_ALL_SOURCES := $(ES1_SOURCES) $(ES1_GALLIUM_SOURCES) $(ES1_API_SOURCES)
162 ES2_ALL_SOURCES := $(ES2_SOURCES) $(ES2_GALLIUM_SOURCES) $(ES2_API_SOURCES)
163
164 # sort to remove duplicates
165 ES1_ALL_SOURCES := $(sort $(ES1_ALL_SOURCES))
166 ES2_ALL_SOURCES := $(sort $(ES2_ALL_SOURCES))