apple: Set the glapi dispatch table on context bind
[mesa.git] / src / glx / Makefile
1 TOP = ../..
2 include $(TOP)/configs/current
3
4 ifeq ($(HAVE_XF86VIDMODE),yes)
5 EXTRA_DEFINES_XF86VIDMODE = -DXF86VIDMODE
6 endif
7
8 EXTRA_DEFINES = $(EXTRA_DEFINES_XF86VIDMODE) -D_REENTRANT \
9 -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\"
10
11 SOURCES = \
12 clientattrib.c \
13 compsize.c \
14 eval.c \
15 glxconfig.c \
16 glxcmds.c \
17 glxcurrent.c \
18 glxext.c \
19 glxextensions.c \
20 indirect_glx.c \
21 indirect.c \
22 indirect_init.c \
23 indirect_size.c \
24 indirect_window_pos.c \
25 indirect_texture_compression.c \
26 indirect_transpose_matrix.c \
27 indirect_vertex_array.c \
28 indirect_vertex_program.c \
29 pixel.c \
30 pixelstore.c \
31 render2.c \
32 renderpix.c \
33 single2.c \
34 singlepix.c \
35 vertarr.c \
36 xfont.c \
37 glx_pbuffer.c \
38 glx_query.c \
39 drisw_glx.c \
40 dri_common.c \
41 dri_glx.c \
42 XF86dri.c \
43 glxhash.c \
44 dri2_glx.c \
45 dri2.c \
46 applegl_glx.c
47
48
49 ifeq ($(SHARED_GLAPI),1)
50 GL_LIB_DEPS := -L$(TOP)/$(LIB_DIR) -l$(GLAPI_LIB) $(GL_LIB_DEPS)
51 EXTRA_DEFINES += -DGLX_SHARED_GLAPI
52 endif
53
54 # override GLAPI_LIB
55 GLAPI_LIB = $(TOP)/src/mapi/glapi/libglapi.a
56
57 OBJECTS = $(SOURCES:.c=.o)
58
59 INCLUDES = -I. \
60 -I$(TOP)/include \
61 -I$(TOP)/include/GL/internal \
62 -I$(TOP)/src/mesa \
63 -I$(TOP)/src/mapi \
64 -I$(TOP)/src/mapi/glapi \
65 $(LIBDRM_CFLAGS) \
66 $(DRI2PROTO_CFLAGS) \
67 $(GLPROTO_CFLAGS) \
68 $(X11_INCLUDES)
69
70
71 ##### RULES #####
72
73 .c.o:
74 $(CC) -c $(INCLUDES) $(CFLAGS) $(EXTRA_DEFINES) $< -o $@
75
76 .S.o:
77 $(CC) -c $(INCLUDES) $(CFLAGS) $(EXTRA_DEFINES) $< -o $@
78
79 ##### TARGETS #####
80
81 default: depend $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
82
83 # Make libGL
84 $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(OBJECTS) $(GLAPI_LIB) Makefile
85 $(MKLIB) -o $(GL_LIB) -linker '$(CXX)' -ldflags '$(LDFLAGS)' \
86 -major 1 -minor 2 \
87 -cplusplus $(MKLIB_OPTIONS) \
88 -install $(TOP)/$(LIB_DIR) -id $(INSTALL_LIB_DIR)/lib$(GL_LIB).1.dylib \
89 $(GL_LIB_DEPS) $(OBJECTS) $(GLAPI_LIB)
90
91 $(GLAPI_LIB):
92 @$(MAKE) -C $(TOP)/src/mapi/glapi
93
94 depend: $(SOURCES) Makefile
95 rm -f depend
96 touch depend
97 $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(SOURCES)
98
99
100 # Emacs tags
101 tags:
102 etags `find . -name \*.[ch]` `find $(TOP)/include`
103
104 install: $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
105 $(MAKE) -C $(TOP)/src/mesa install-libgl
106
107 # Remove .o and backup files
108 clean:
109 -rm -f $(TOP)/$(LIB_DIR)/$(GL_LIB_GLOB)
110 -rm -f *.o *~
111 -rm -f depend depend.bak
112
113 -include depend