Merge branch '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 ES1_OBJECTS = st_es1.o
26 ES2_OBJECTS = st_es2.o
27
28
29 ES1_LIBS = \
30 $(TOP)/src/mesa/es/libes1gallium.a \
31 $(TOP)/src/mesa/es/libes1api.a
32
33 ES2_LIBS = \
34 $(TOP)/src/mesa/es/libes2gallium.a \
35 $(TOP)/src/mesa/es/libes2api.a
36
37 SYS_LIBS = -lm -pthread
38
39
40 INCLUDE_DIRS = \
41 -I$(TOP)/include \
42 -I$(TOP)/src/mesa \
43 -I$(TOP)/src/gallium/include
44
45 .c.o:
46 $(CC) -c $(INCLUDE_DIRS) $(DEFINES) $(CFLAGS) $< -o $@
47
48
49 # Default: make both GL ES 1.1 and GL ES 2.0 libraries
50 default: $(TOP)/$(LIB_DIR)/$(GLES_1_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLES_2_LIB_NAME)
51
52 # Make the shared libs
53 $(TOP)/$(LIB_DIR)/$(GLES_1_LIB_NAME): $(ES1_OBJECTS) $(ES1_LIBS) $(GALLIUM_AUXILIARIES)
54 $(MKLIB) -o $(GLES_1_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
55 -major $(GLES_1_VERSION_MAJOR) \
56 -minor $(GLES_1_VERSION_MINOR) \
57 -patch $(GLES_1_VERSION_PATCH) \
58 -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
59 $(ES1_OBJECTS) \
60 -Wl,--whole-archive $(ES1_LIBS) -Wl,--no-whole-archive \
61 $(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) \
70 -Wl,--whole-archive $(ES2_LIBS) -Wl,--no-whole-archive \
71 $(GALLIUM_AUXILIARIES) $(SYS_LIBS)
72
73 install: default
74 $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GLES
75 $(INSTALL) -m 644 $(TOP)/include/GLES/*.h $(DESTDIR)$(INSTALL_DIR)/include/GLES
76 $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GLES2
77 $(INSTALL) -m 644 $(TOP)/include/GLES2/*.h $(DESTDIR)$(INSTALL_DIR)/include/GLES2
78 $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
79 $(MINSTALL) $(TOP)/$(LIB_DIR)/libGLESv1* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
80 $(MINSTALL) $(TOP)/$(LIB_DIR)/libGLESv2* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
81
82 clean:
83 -rm -f *.o *~
84 -rm -f $(TOP)/$(LIB_DIR)/$(GLES_1_LIB_NAME)* $(TOP)/$(LIB_DIR)/$(GLES_2_LIB_NAME)*
85
86 depend: