Merge branch 'master' into opengl-es-v2
[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
48 MAIN_OMITTED := \
49 main/api_exec.c \
50 main/dlopen.c \
51 main/enums.c \
52 main/get.c
53 MAIN_SOURCES := $(filter-out $(MAIN_OMITTED), $(MAIN_SOURCES))
54
55 VBO_OMITTED := \
56 vbo/vbo_save.c \
57 vbo/vbo_save_api.c \
58 vbo/vbo_save_draw.c \
59 vbo/vbo_save_loopback.c
60 VBO_SOURCES := $(filter-out $(VBO_OMITTED), $(VBO_SOURCES))
61
62 STATETRACKER_OMITTED := \
63 state_tracker/st_api.c \
64 state_tracker/st_cb_drawpixels.c \
65 state_tracker/st_cb_feedback.c \
66 state_tracker/st_cb_rasterpos.c \
67 state_tracker/st_draw_feedback.c
68 STATETRACKER_SOURCES := $(filter-out $(STATETRACKER_OMITTED), $(STATETRACKER_SOURCES))
69
70 SHADER_OMITTED := \
71 shader/atifragshader.c \
72 shader/nvfragparse.c \
73 shader/nvprogram.c \
74 shader/nvvertparse.c
75 SHADER_SOURCES := $(filter-out $(SHADER_OMITTED), $(SHADER_SOURCES))
76
77 MESA_ES1_SOURCES := \
78 $(MAIN_SOURCES) \
79 $(MATH_SOURCES) \
80 $(MATH_XFORM_SOURCES) \
81 $(VBO_SOURCES) \
82 $(TNL_SOURCES) \
83 $(SHADER_SOURCES) \
84 $(SWRAST_SOURCES) \
85 $(SWRAST_SETUP_SOURCES) \
86 $(COMMON_DRIVER_SOURCES) \
87 $(ASM_C_SOURCES) \
88 $(SLANG_SOURCES)
89
90 MESA_ES1_GALLIUM_SOURCES := \
91 $(MAIN_SOURCES) \
92 $(MATH_SOURCES) \
93 $(VBO_SOURCES) \
94 $(STATETRACKER_SOURCES) \
95 $(SHADER_SOURCES) \
96 ppc/common_ppc.c \
97 x86/common_x86.c \
98 $(SLANG_SOURCES)
99
100 MESA_ES1_API_SOURCES := \
101 $(GLAPI_SOURCES)
102
103 MESA_ES1_INCLUDES := $(INCLUDE_DIRS)
104
105 # remove LOCAL sources from MESA sources
106 MESA_ES1_SOURCES := $(filter-out $(LOCAL_ES1_SOURCES), $(MESA_ES1_SOURCES))
107 MESA_ES1_GALLIUM_SOURCES := $(filter-out $(LOCAL_ES1_GALLIUM_SOURCES), $(MESA_ES1_GALLIUM_SOURCES))
108
109 # right now es2 and es1 share MESA sources
110 MESA_ES2_SOURCES := $(MESA_ES1_SOURCES)
111 MESA_ES2_GALLIUM_SOURCES := $(MESA_ES1_GALLIUM_SOURCES)
112 MESA_ES2_API_SOURCES := $(MESA_ES1_API_SOURCES)
113
114 MESA_ES2_INCLUDES := $(MESA_ES1_INCLUDES)
115
116 # asm is shared by any ES version and any library
117 MESA_ES_ASM := $(MESA_ASM_SOURCES)
118
119 # collect sources, adjust the pathes
120 ES1_SOURCES := $(LOCAL_ES1_SOURCES) $(addprefix $(MESA)/,$(MESA_ES1_SOURCES))
121 ES1_GALLIUM_SOURCES := $(LOCAL_ES1_GALLIUM_SOURCES) $(addprefix $(MESA)/,$(MESA_ES1_GALLIUM_SOURCES))
122 ES1_API_SOURCES := $(addprefix $(MESA)/,$(MESA_ES1_API_SOURCES))
123
124 ES2_SOURCES := $(LOCAL_ES2_SOURCES) $(addprefix $(MESA)/,$(MESA_ES2_SOURCES))
125 ES2_GALLIUM_SOURCES := $(LOCAL_ES2_GALLIUM_SOURCES) $(addprefix $(MESA)/,$(MESA_ES2_GALLIUM_SOURCES))
126 ES2_API_SOURCES := $(addprefix $(MESA)/,$(MESA_ES2_API_SOURCES))
127
128 # collect includes
129 ES1_INCLUDES := $(LOCAL_ES1_INCLUDES) $(MESA_ES1_INCLUDES)
130 ES2_INCLUDES := $(LOCAL_ES2_INCLUDES) $(MESA_ES2_INCLUDES)
131
132 # collect objects, including asm
133 ES1_OBJECTS := \
134 $(LOCAL_ES1_SOURCES:.c=.o) \
135 $(MESA_ES1_SOURCES:.c=.o) \
136 $(MESA_ES_ASM:.S=.o)
137
138 ES1_GALLIUM_OBJECTS := \
139 $(LOCAL_ES1_GALLIUM_SOURCES:.c=.o) \
140 $(MESA_ES1_GALLIUM_SOURCES:.c=.o) \
141 $(MESA_ES_ASM:.S=.o)
142
143 ES1_API_OBJECTS := \
144 $(LOCAL_ES1_API_ASM:.S=.o) \
145 $(MESA_ES1_API_SOURCES:.c=.o)
146
147 ES2_OBJECTS := \
148 $(LOCAL_ES2_SOURCES:.c=.o) \
149 $(MESA_ES2_SOURCES:.c=.o) \
150 $(MESA_ES_ASM:.S=.o)
151
152 ES2_GALLIUM_OBJECTS := \
153 $(LOCAL_ES2_GALLIUM_SOURCES:.c=.o) \
154 $(MESA_ES2_GALLIUM_SOURCES:.c=.o) \
155 $(MESA_ES_ASM:.S=.o)
156
157 ES2_API_OBJECTS := \
158 $(LOCAL_ES2_API_ASM:.S=.o) \
159 $(MESA_ES2_API_SOURCES:.c=.o)
160
161 # collect sources for makedepend
162 ES1_ALL_SOURCES := $(ES1_SOURCES) $(ES1_GALLIUM_SOURCES) $(ES1_API_SOURCES)
163 ES2_ALL_SOURCES := $(ES2_SOURCES) $(ES2_GALLIUM_SOURCES) $(ES2_API_SOURCES)
164
165 # sort to remove duplicates
166 ES1_ALL_SOURCES := $(sort $(ES1_ALL_SOURCES))
167 ES2_ALL_SOURCES := $(sort $(ES2_ALL_SOURCES))