Merge branch 'gallium-0.1' into gallium-0.2
[mesa.git] / src / mesa / drivers / dri / Makefile.template
1 # -*-makefile-*-
2
3 MESA_MODULES = $(TOP)/src/mesa/libmesa.a
4
5 COMMON_GALLIUM_SOURCES = \
6 ../common/utils.c \
7 ../common/vblank.c \
8 ../common/dri_util.c \
9 ../common/xmlconfig.c
10
11 COMMON_SOURCES = $(COMMON_GALLIUM_SOURCES) \
12 ../../common/driverfuncs.c \
13 ../common/texmem.c \
14 ../common/drirenderbuffer.c
15
16 ifeq ($(WINDOW_SYSTEM),dri)
17 WINOBJ=
18 WINLIB=
19 INCLUDES = $(SHARED_INCLUDES) $(EXPAT_INCLUDES)
20
21 OBJECTS = $(C_SOURCES:.c=.o) \
22 $(ASM_SOURCES:.S=.o)
23
24 else
25 # miniglx
26 WINOBJ=
27 WINLIB=-L$(MESA)/src/glx/mini
28 MINIGLX_INCLUDES = -I$(TOP)/src/glx/mini
29 INCLUDES = $(MINIGLX_INCLUDES) \
30 $(SHARED_INCLUDES) \
31 $(PCIACCESS_CFLAGS)
32
33 OBJECTS = $(C_SOURCES:.c=.o) \
34 $(MINIGLX_SOURCES:.c=.o) \
35 $(ASM_SOURCES:.S=.o)
36 endif
37
38
39 ### Include directories
40 SHARED_INCLUDES = \
41 -I. \
42 -I$(TOP)/src/mesa/drivers/dri/common \
43 -Iserver \
44 -I$(TOP)/include \
45 -I$(TOP)/include/GL/internal \
46 -I$(TOP)/src/mesa \
47 -I$(TOP)/src/mesa/main \
48 -I$(TOP)/src/mesa/glapi \
49 -I$(TOP)/src/egl/main \
50 -I$(TOP)/src/egl/drivers/dri \
51 $(LIBDRM_CFLAGS)
52
53
54 ##### RULES #####
55
56 .c.o:
57 $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
58
59 .S.o:
60 $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
61
62
63 ##### TARGETS #####
64
65 default: symlinks depend $(LIBNAME) $(TOP)/$(LIB_DIR)/$(LIBNAME)
66
67
68 $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(PIPE_DRIVERS) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
69 $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
70 $(OBJECTS) $(PIPE_DRIVERS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
71
72
73 $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
74 $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR)
75
76
77 depend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS)
78 rm -f depend
79 touch depend
80 $(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) $(C_SOURCES) \
81 $(ASM_SOURCES)
82
83
84 # Emacs tags
85 tags:
86 etags `find . -name \*.[ch]` `find ../include`
87
88
89 # Remove .o and backup files
90 clean:
91 -rm -f *.o */*.o *~ *.so *~ server/*.o $(SYMLINKS)
92 -rm -f depend depend.bak
93
94
95 install: $(LIBNAME)
96 $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
97 $(INSTALL) -m 755 $(LIBNAME) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
98
99
100 -include depend