Merge branch 'mesa_7_5_branch'
[mesa.git] / src / gallium / winsys / drm / Makefile.template
1 # -*-makefile-*-
2
3 MESA_MODULES = \
4 $(TOP)/src/mesa/libmesagallium.a \
5 $(GALLIUM_AUXILIARIES)
6
7 COMMON_GALLIUM_SOURCES = \
8 $(TOP)/src/mesa/drivers/dri/common/utils.c \
9 $(TOP)/src/mesa/drivers/dri/common/vblank.c \
10 $(TOP)/src/mesa/drivers/dri/common/dri_util.c \
11 $(TOP)/src/mesa/drivers/dri/common/xmlconfig.c
12
13 COMMON_SOURCES = $(COMMON_GALLIUM_SOURCES) \
14 $(TOP)/src/mesa/drivers/common/driverfuncs.c \
15 $(TOP)/src/mesa/drivers/dri/common/texmem.c \
16 $(TOP)/src/mesa/drivers/dri/common/drirenderbuffer.c
17
18 COMMON_BM_SOURCES = \
19 $(TOP)/src/mesa/drivers/dri/common/dri_bufmgr.c \
20 $(TOP)/src/mesa/drivers/dri/common/dri_drmpool.c
21
22
23 ifeq ($(WINDOW_SYSTEM),dri)
24 WINOBJ=
25 WINLIB=
26 INCLUDES = $(SHARED_INCLUDES) $(EXPAT_INCLUDES)
27
28 OBJECTS = \
29 $(C_SOURCES:.c=.o) \
30 $(ASM_SOURCES:.S=.o)
31
32 else
33 # miniglx
34 WINOBJ=
35 WINLIB=-L$(MESA)/src/glx/mini
36 MINIGLX_INCLUDES = -I$(TOP)/src/glx/mini
37 INCLUDES = $(MINIGLX_INCLUDES) \
38 $(SHARED_INCLUDES) \
39 $(PCIACCESS_CFLAGS)
40
41 OBJECTS = $(C_SOURCES:.c=.o) \
42 $(MINIGLX_SOURCES:.c=.o) \
43 $(ASM_SOURCES:.S=.o)
44 endif
45
46
47 ### Include directories
48 SHARED_INCLUDES = \
49 -I. \
50 -I$(TOP)/src/mesa/drivers/dri/common \
51 -Iserver \
52 -I$(TOP)/include \
53 -I$(TOP)/include/GL/internal \
54 -I$(TOP)/src/gallium/include \
55 -I$(TOP)/src/gallium/auxiliary \
56 -I$(TOP)/src/gallium/drivers \
57 -I$(TOP)/src/gallium/winsys/common \
58 -I$(TOP)/src/mesa \
59 -I$(TOP)/src/mesa/main \
60 -I$(TOP)/src/mesa/glapi \
61 -I$(TOP)/src/mesa/math \
62 -I$(TOP)/src/mesa/transform \
63 -I$(TOP)/src/mesa/shader \
64 -I$(TOP)/src/mesa/swrast \
65 -I$(TOP)/src/mesa/swrast_setup \
66 -I$(TOP)/src/egl/main \
67 -I$(TOP)/src/egl/drivers/dri \
68 $(LIBDRM_CFLAGS)
69
70
71 ##### RULES #####
72
73 .c.o:
74 $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
75
76 .S.o:
77 $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
78
79
80 ##### TARGETS #####
81
82 default: depend symlinks $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME)
83
84 $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(PIPE_DRIVERS) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
85 $(MKLIB) -noprefix -o $@ \
86 $(OBJECTS) $(PIPE_DRIVERS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS) $(DRIVER_EXTRAS)
87
88 $(LIBNAME_EGL): $(WINSYS_OBJECTS) $(LIBS)
89 $(MKLIB) -o $(LIBNAME_EGL) \
90 -linker "$(CC)" \
91 -noprefix \
92 $(OBJECTS) $(MKLIB_OPTIONS) $(WINSYS_OBJECTS) $(PIPE_DRIVERS) $(WINOBJ) $(DRI_LIB_DEPS) \
93 --whole-archive $(LIBS) $(GALLIUM_AUXILIARIES) --no-whole-archive $(DRIVER_EXTRAS)
94
95 $(TOP)/$(LIB_DIR)/gallium:
96 mkdir -p $@
97
98 $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME): $(LIBNAME) $(TOP)/$(LIB_DIR)/gallium
99 $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR)/gallium
100
101 depend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS)
102 rm -f depend
103 touch depend
104 $(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) $(C_SOURCES) \
105 $(ASM_SOURCES) 2> /dev/null
106
107
108 # Emacs tags
109 tags:
110 etags `find . -name \*.[ch]` `find ../include`
111
112
113 # Remove .o and backup files
114 clean:
115 -rm -f *.o */*.o *~ *.so *~ server/*.o $(SYMLINKS)
116 -rm -f depend depend.bak
117
118
119 install: $(LIBNAME)
120 $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
121 $(MINSTALL) -m 755 $(LIBNAME) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
122
123
124 include depend