Merge remote branch 'origin/7.8'
[mesa.git] / src / gallium / state_trackers / es / Makefile
1 # src/gallium/state_trackers/es/Makefile
2
3 # Build the ES 1/2 state tracker libraries
4 # This consists of core Mesa ES, plus GL/gallium state tracker.
5
6 TOP = ../../../..
7 include $(TOP)/configs/current
8
9 GLES_1_VERSION_MAJOR = 1
10 GLES_1_VERSION_MINOR = 1
11 GLES_1_VERSION_PATCH = 0
12
13 GLES_2_VERSION_MAJOR = 2
14 GLES_2_VERSION_MINOR = 0
15 GLES_2_VERSION_PATCH = 0
16
17
18 # Maybe move these into configs/default:
19 GLES_1_LIB = GLESv1_CM
20 GLES_1_LIB_NAME = lib$(GLES_1_LIB).so
21 GLES_2_LIB = GLESv2
22 GLES_2_LIB_NAME = lib$(GLES_2_LIB).so
23
24
25 # These two objects indirectly reference all public functions thanks to the use
26 # of _glapi_get_proc_address.
27 ES1_OBJECTS = st_es1.o
28 ES2_OBJECTS = st_es2.o
29
30
31 ES1_LIBS = \
32 $(TOP)/src/mesa/es/libes1gallium.a \
33 $(TOP)/src/mesa/es/libes1api.a
34
35 ES2_LIBS = \
36 $(TOP)/src/mesa/es/libes2gallium.a \
37 $(TOP)/src/mesa/es/libes2api.a
38
39 SYS_LIBS = -lm -pthread
40
41
42 INCLUDE_DIRS = \
43 -I$(TOP)/include \
44 -I$(TOP)/src/mesa \
45 -I$(TOP)/src/gallium/include
46
47 .c.o:
48 $(CC) -c $(INCLUDE_DIRS) $(DEFINES) $(CFLAGS) $< -o $@
49
50
51 # Default: make both GL ES 1.1 and GL ES 2.0 libraries
52 default: $(TOP)/$(LIB_DIR)/$(GLES_1_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLES_2_LIB_NAME)
53
54 # Make the shared libs
55 $(TOP)/$(LIB_DIR)/$(GLES_1_LIB_NAME): $(ES1_OBJECTS) $(ES1_LIBS) $(GALLIUM_AUXILIARIES)
56 $(MKLIB) -o $(GLES_1_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
57 -major $(GLES_1_VERSION_MAJOR) \
58 -minor $(GLES_1_VERSION_MINOR) \
59 -patch $(GLES_1_VERSION_PATCH) \
60 -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
61 $(ES1_OBJECTS) $(ES1_LIBS) $(GALLIUM_AUXILIARIES) $(SYS_LIBS)
62
63 $(TOP)/$(LIB_DIR)/$(GLES_2_LIB_NAME): $(ES2_OBJECTS) $(ES1_LIBS) $(GALLIUM_AUXILIARIES)
64 $(MKLIB) -o $(GLES_2_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
65 -major $(GLES_2_VERSION_MAJOR) \
66 -minor $(GLES_2_VERSION_MINOR) \
67 -patch $(GLES_2_VERSION_PATCH) \
68 -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
69 $(ES2_OBJECTS) $(ES2_LIBS) $(GALLIUM_AUXILIARIES) $(SYS_LIBS)
70
71 install: default
72 $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GLES
73 $(INSTALL) -m 644 $(TOP)/include/GLES/*.h $(DESTDIR)$(INSTALL_DIR)/include/GLES
74 $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GLES2
75 $(INSTALL) -m 644 $(TOP)/include/GLES2/*.h $(DESTDIR)$(INSTALL_DIR)/include/GLES2
76 $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
77 $(MINSTALL) $(TOP)/$(LIB_DIR)/libGLESv1* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
78 $(MINSTALL) $(TOP)/$(LIB_DIR)/libGLESv2* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
79
80 clean:
81 -rm -f *.o *~
82 -rm -f $(TOP)/$(LIB_DIR)/$(GLES_1_LIB_NAME)* $(TOP)/$(LIB_DIR)/$(GLES_2_LIB_NAME)*
83
84 depend: