1 # src/gallium/targets/gbm/Makefile
4 include $(TOP
)/configs
/current
8 GBM_BACKEND
= gbm_gallium_drm
9 GBM_SOURCES
= gbm.c pipe_loader.c
13 -I
$(TOP
)/src
/gallium
/state_trackers
/gbm \
14 -I
$(TOP
)/src
/gbm
/main \
15 -I
$(TOP
)/src
/gallium
/auxiliary \
16 -I
$(TOP
)/src
/gallium
/include \
18 GBM_LIBS
= $(LIBUDEV_LIBS
) $(LIBDRM_LIB
) \
19 $(TOP
)/src
/gallium
/state_trackers
/gbm
/libgbm.a \
20 $(TOP
)/src
/gallium
/drivers
/identity
/libidentity.a \
21 $(TOP
)/src
/gallium
/drivers
/trace
/libtrace.a \
22 $(TOP
)/src
/gallium
/drivers
/rbug
/librbug.a \
23 $(GALLIUM_AUXILIARIES
)
27 -DGBM_BACKEND_SEARCH_DIR
=\"$(GBM_BACKEND_INSTALL_DIR
)\" \
28 -DPIPE_PREFIX
=\"$(PIPE_PREFIX
)\" \
35 -I
$(TOP
)/src
/gallium
/auxiliary \
36 -I
$(TOP
)/src
/gallium
/drivers \
37 -I
$(TOP
)/src
/gallium
/include \
38 -I
$(TOP
)/src
/gallium
/winsys
40 pipe_LIBS
= $(LIBDRM_LIB
) \
41 $(TOP
)/src
/gallium
/drivers
/identity
/libidentity.a \
42 $(TOP
)/src
/gallium
/drivers
/trace
/libtrace.a \
43 $(TOP
)/src
/gallium
/drivers
/rbug
/librbug.a \
44 $(GALLIUM_AUXILIARIES
)
46 pipe_CLFLAGS
= $(LIBDRM_CFLAGS
)
48 pipe_LDFLAGS
= -Wl
,--no-undefined
51 i915_LIBS
= -ldrm_intel \
52 $(TOP
)/src
/gallium
/winsys
/i915
/drm
/libi915drm.a \
53 $(TOP
)/src
/gallium
/drivers
/i915
/libi915.a
56 i965_LIBS
= -ldrm_intel \
57 $(TOP
)/src
/gallium
/winsys
/i965
/drm
/libi965drm.a \
58 $(TOP
)/src
/gallium
/drivers
/i965
/libi965.a \
59 $(TOP
)/src
/gallium
/winsys
/sw
/wrapper
/libwsw.a
62 nouveau_LIBS
= -ldrm_nouveau \
63 $(TOP
)/src
/gallium
/winsys
/nouveau
/drm
/libnouveaudrm.a \
64 $(TOP
)/src
/gallium
/drivers
/nvfx
/libnvfx.a \
65 $(TOP
)/src
/gallium
/drivers
/nv50
/libnv50.a \
66 $(TOP
)/src
/gallium
/drivers
/nvc0
/libnvc0.a \
67 $(TOP
)/src
/gallium
/drivers
/nouveau
/libnouveau.a
71 $(TOP
)/src
/gallium
/winsys
/radeon
/drm
/libradeonwinsys.a \
72 $(TOP
)/src
/gallium
/drivers
/r300
/libr300.a
75 r600_LIBS
= -ldrm
-ldrm_radeon \
76 $(TOP
)/src
/gallium
/winsys
/r600
/drm
/libr600winsys.a \
77 $(TOP
)/src
/gallium
/drivers
/r600
/libr600.a
81 $(TOP
)/src
/gallium
/winsys
/svga
/drm
/libsvgadrm.a \
82 $(TOP
)/src
/gallium
/drivers
/svga
/libsvga.a
86 pipe_LIBS
+= $(LLVM_LIBS
)
87 pipe_LDFLAGS
+= $(LLVM_LDFLAGS
)
90 # determine the targets/sources
94 ifneq ($(findstring i915
/drm
,$(GALLIUM_WINSYS_DIRS
)),)
95 pipe_TARGETS
+= $(PIPE_PREFIX
)i915.so
96 pipe_SOURCES
+= pipe_i915.c
99 ifneq ($(findstring i965
/drm
,$(GALLIUM_WINSYS_DIRS
)),)
100 pipe_TARGETS
+= $(PIPE_PREFIX
)i965.so
101 pipe_SOURCES
+= pipe_i965.c
104 ifneq ($(findstring nouveau
/drm
,$(GALLIUM_WINSYS_DIRS
)),)
105 pipe_TARGETS
+= $(PIPE_PREFIX
)nouveau.so
106 pipe_SOURCES
+= pipe_nouveau.c
109 ifneq ($(findstring radeon
/drm
,$(GALLIUM_WINSYS_DIRS
)),)
110 pipe_TARGETS
+= $(PIPE_PREFIX
)r300.so
111 pipe_SOURCES
+= pipe_r300.c
114 ifneq ($(findstring r600
/drm
,$(GALLIUM_WINSYS_DIRS
)),)
115 pipe_TARGETS
+= $(PIPE_PREFIX
)r600.so
116 pipe_SOURCES
+= pipe_r600.c
119 ifneq ($(findstring svga
/drm
,$(GALLIUM_WINSYS_DIRS
)),)
120 pipe_TARGETS
+= $(PIPE_PREFIX
)vmwgfx.so
121 pipe_SOURCES
+= pipe_vmwgfx.c
124 pipe_OBJECTS
= $(pipe_SOURCES
:.c
=.o
)
127 GBM_EXTRA_TARGETS
= $(addprefix $(TOP
)/$(LIB_DIR
)/gbm
/, $(pipe_TARGETS
))
128 GBM_EXTRA_INSTALL
= install-pipes
129 GBM_EXTRA_CLEAN
= clean-pipes
130 GBM_EXTRA_SOURCES
= $(pipe_SOURCES
)
132 include $(TOP
)/src
/gbm
/backends
/Makefile.template
135 $(GBM_EXTRA_TARGETS
): $(TOP
)/$(LIB_DIR
)/gbm
/%: %
136 @
$(INSTALL
) -d
$(dir $@
)
137 $(INSTALL
) $< $(dir $@
)
139 $(pipe_TARGETS
): $(PIPE_PREFIX
)%.so
: pipe_
%.o
140 $(MKLIB
) -o
$@
-noprefix
-linker
'$(CC)' \
141 -ldflags '-L$(TOP)/$(LIB_DIR) $(pipe_LDFLAGS) $(LDFLAGS)' \
142 $(MKLIB_OPTIONS
) $< \
143 -Wl
,--start-group
$($*_LIBS
) $(pipe_LIBS
) -Wl
,--end-group
145 $(pipe_OBJECTS
): %.o
: %.c
146 $(CC
) -c
-o
$@
$< $(pipe_INCLUDES
) $(pipe_CFLAGS
) $(CFLAGS
)
148 install-pipes
: $(GBM_EXTRA_TARGETS
)
149 $(INSTALL
) -d
$(DESTDIR
)$(GBM_BACKEND_INSTALL_DIR
)
150 for tgt in
$(GBM_EXTRA_TARGETS
); do \
151 $(MINSTALL
) "$$tgt" $(DESTDIR
)$(GBM_BACKEND_INSTALL_DIR
); \
155 rm -f
$(pipe_TARGETS
)
156 rm -f
$(pipe_OBJECTS
)