Merge branch 'mesa_7_6_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: symlinks subdirs depend $(LIBNAME) $(TOP)/$(LIB_DIR)/$(LIBNAME)
64
65
66 $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(EXTRA_MODULES) $(WINOBJ) Makefile \
67 $(TOP)/src/mesa/drivers/dri/Makefile.template
68 $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
69 $(OBJECTS) $(MESA_MODULES) $(EXTRA_MODULES) $(WINOBJ) \
70 $(DRI_LIB_DEPS)
71
72
73 $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
74 $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR)
75
76
77 # If the Makefile defined SUBDIRS, run make in each
78 .PHONY: subdirs
79 subdirs:
80 @if test -n "$(SUBDIRS)" ; then \
81 for dir in $(SUBDIRS) ; do \
82 if [ -d $$dir ] ; then \
83 (cd $$dir && $(MAKE)) || exit 1; \
84 fi \
85 done \
86 fi
87
88
89 .PHONY: symlinks
90 symlinks:
91
92
93 depend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS)
94 @ echo "running $(MKDEP)"
95 @ rm -f depend
96 @ touch depend
97 @ $(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) $(C_SOURCES) \
98 $(ASM_SOURCES) > /dev/null 2>/dev/null
99
100
101 # Emacs tags
102 tags:
103 etags `find . -name \*.[ch]` `find ../include`
104
105
106 # Remove .o and backup files
107 clean:
108 -rm -f *.o */*.o *~ *.so *~ server/*.o $(SYMLINKS)
109 -rm -f depend depend.bak
110
111
112 install: $(LIBNAME)
113 $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
114 $(MINSTALL) -m 755 $(LIBNAME) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
115
116
117 -include depend