5261a4b55d1ef36628cbe7b349a685621870fab6
[mesa.git] / src / mesa / drivers / dri / Makefile.template
1 # -*-makefile-*-
2
3 MESA_MODULES = $(TOP)/src/mesa/libmesa.a
4
5 COMMON_SOURCES = \
6 ../../common/driverfuncs.c \
7 ../common/utils.c \
8 ../common/texmem.c \
9 ../common/vblank.c \
10 ../common/dri_util.c \
11 ../common/xmlconfig.c \
12 ../common/drirenderbuffer.c
13
14 COMMON_BM_SOURCES = \
15 ../common/dri_bufmgr.c \
16 ../common/dri_drmpool.c
17
18
19 ifeq ($(WINDOW_SYSTEM),dri)
20 WINOBJ=
21 WINLIB=
22 INCLUDES = $(SHARED_INCLUDES) $(EXPAT_INCLUDES)
23
24 OBJECTS = $(C_SOURCES:.c=.o) \
25 $(ASM_SOURCES:.S=.o)
26
27 else
28 WINOBJ=
29 WINLIB=-L$(MESA)/src/glx/mini
30 MINIGLX_INCLUDES = -I$(TOP)/src/glx/mini
31 INCLUDES = $(MINIGLX_INCLUDES) \
32 $(SHARED_INCLUDES)
33
34 OBJECTS = $(C_SOURCES:.c=.o) \
35 $(MINIGLX_SOURCES:.c=.o) \
36 $(ASM_SOURCES:.S=.o)
37 endif
38
39
40 ### Include directories
41 SHARED_INCLUDES = \
42 -I. \
43 -I$(TOP)/src/mesa/drivers/dri/common \
44 -Iserver \
45 -I$(TOP)/include \
46 -I$(TOP)/include/GL/internal \
47 -I$(TOP)/src/mesa \
48 -I$(TOP)/src/mesa/main \
49 -I$(TOP)/src/mesa/glapi \
50 -I$(TOP)/src/mesa/math \
51 -I$(TOP)/src/mesa/transform \
52 -I$(TOP)/src/mesa/shader \
53 -I$(TOP)/src/mesa/swrast \
54 -I$(TOP)/src/mesa/swrast_setup \
55 -I$(TOP)/src/egl/main \
56 -I$(TOP)/src/egl/drivers/dri \
57 `pkg-config --cflags libdrm`
58
59 ##### RULES #####
60
61 .c.o:
62 $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
63
64 .S.o:
65 $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
66
67
68 ##### TARGETS #####
69
70 default: depend symlinks $(LIBNAME) $(TOP)/$(LIB_DIR)/$(LIBNAME)
71
72
73 #$(TOP)/$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
74 # @echo BUILDING FOR: $(WINDOW_SYSTEM)
75 # $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(TOP)/$(LIB_DIR) \
76 # $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
77
78 $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
79 $(TOP)/bin/mklib -noprefix -o $@ \
80 $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
81
82
83 $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
84 $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR)
85
86
87
88 # Run 'make depend' to update the dependencies if you change
89 # what's included by any source file.
90 depend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS)
91 touch depend
92 $(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) $(C_SOURCES) \
93 $(ASM_SOURCES) 2>&1 /dev/null
94
95
96 # Emacs tags
97 tags:
98 etags `find . -name \*.[ch]` `find ../include`
99
100
101 # Remove .o and backup files
102 clean:
103 -rm -f *.o */*.o *~ *.so *~ server/*.o $(SYMLINKS)
104 -rm -f depend depend.bak
105
106 install: $(LIBNAME)
107 $(INSTALL) -d $(DRI_DRIVER_INSTALL_DIR)
108 $(INSTALL) -m 755 $(LIBNAME) $(DRI_DRIVER_INSTALL_DIR)
109
110 include depend