Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
[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 ../common/dri_metaops.c
16
17 ifeq ($(WINDOW_SYSTEM),dri)
18 WINOBJ=
19 WINLIB=
20 INCLUDES = $(SHARED_INCLUDES) $(EXPAT_INCLUDES)
21
22 OBJECTS = $(C_SOURCES:.c=.o) \
23 $(ASM_SOURCES:.S=.o)
24
25 else
26 # miniglx
27 WINOBJ=
28 WINLIB=-L$(MESA)/src/glx/mini
29 MINIGLX_INCLUDES = -I$(TOP)/src/glx/mini
30 INCLUDES = $(MINIGLX_INCLUDES) \
31 $(SHARED_INCLUDES) \
32 $(PCIACCESS_CFLAGS)
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)/src/mesa \
47 -I$(TOP)/src/egl/main \
48 -I$(TOP)/src/egl/drivers/dri \
49 $(LIBDRM_CFLAGS)
50
51
52 ##### RULES #####
53
54 .c.o:
55 $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
56
57 .S.o:
58 $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
59
60
61 ##### TARGETS #####
62
63 default: subdirs lib
64
65
66 .PHONY: lib
67 lib: symlinks subdirs depend
68 @$(MAKE) $(LIBNAME) $(TOP)/$(LIB_DIR)/$(LIBNAME)
69
70 $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(EXTRA_MODULES) $(WINOBJ) Makefile \
71 $(TOP)/src/mesa/drivers/dri/Makefile.template
72 $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
73 $(OBJECTS) $(MESA_MODULES) $(EXTRA_MODULES) $(WINOBJ) \
74 $(DRI_LIB_DEPS)
75
76
77 $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
78 $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR)
79
80
81 # If the Makefile defined SUBDIRS, run make in each
82 .PHONY: subdirs
83 subdirs:
84 @if test -n "$(SUBDIRS)" ; then \
85 for dir in $(SUBDIRS) ; do \
86 if [ -d $$dir ] ; then \
87 (cd $$dir && $(MAKE)) || exit 1; \
88 fi \
89 done \
90 fi
91
92
93 .PHONY: symlinks
94 symlinks:
95
96
97 depend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS)
98 @ echo "running $(MKDEP)"
99 @ rm -f depend
100 @ touch depend
101 @ $(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) $(C_SOURCES) \
102 $(ASM_SOURCES) > /dev/null 2>/dev/null
103
104
105 # Emacs tags
106 tags:
107 etags `find . -name \*.[ch]` `find ../include`
108
109
110 # Remove .o and backup files
111 clean:
112 -rm -f *.o */*.o *~ *.so *~ server/*.o $(SYMLINKS)
113 -rm -f depend depend.bak
114
115
116 install: $(LIBNAME)
117 $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
118 $(MINSTALL) -m 755 $(LIBNAME) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
119
120
121 -include depend