# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-SUBDIRS = shaders
+SUBDIRS = shaders
+DIST_SUBDIRS = $(SUBDIRS)
+EXTRA_DIST =
+BUILT_SOURCES =
-INCLUDES = \
+AM_CPPFLAGS = \
-DPTHREADS \
$(DRM_CFLAGS) \
$(LIBVA_DEPS_CFLAGS) \
+ -DVA_DRIVERS_PATH="\"$(LIBVA_DRIVERS_PATH)\"" \
$(NULL)
driver_cflags = \
-fvisibility=hidden \
$(NULL)
+if USE_SSP
+driver_cflags += -fstack-protector
+endif
+
driver_ldflags = \
- -module -avoid-version \
+ -avoid-version \
-no-undefined \
-Wl,--no-undefined \
$(NULL)
driver_libs = \
- -lpthread \
- $(DRM_LIBS) -ldrm_intel \
- $(LIBVA_DEPS_LIBS) \
- $(LIBVA_X11_DEPS_LIBS) \
+ -lpthread -lm -ldl \
+ $(DRM_LIBS) \
$(NULL)
-source_c = \
- gen6_mfc.c \
- gen6_mfd.c \
- gen6_vme.c \
- gen7_mfd.c \
- i965_avc_bsd.c \
- i965_avc_hw_scoreboard.c\
- i965_avc_ildb.c \
- i965_decoder_utils.c \
- i965_drv_video.c \
- i965_encoder.c \
- i965_media.c \
- i965_media_h264.c \
- i965_media_mpeg2.c \
- i965_post_processing.c \
- i965_render.c \
- intel_batchbuffer.c \
- intel_batchbuffer_dump.c\
- intel_driver.c \
- intel_memman.c \
- object_heap.c \
- $(NULL)
+include Makefile.sources
-source_h = \
- gen6_mfc.h \
- gen6_mfd.h \
- gen6_vme.h \
- gen7_mfd.h \
- i965_avc_bsd.h \
- i965_avc_hw_scoreboard.h\
- i965_avc_ildb.h \
- i965_decoder.h \
- i965_decoder_utils.h \
- i965_defines.h \
- i965_drv_video.h \
- i965_encoder.h \
- i965_media.h \
- i965_media_h264.h \
- i965_media_mpeg2.h \
- i965_mutext.h \
- i965_post_processing.h \
- i965_render.h \
- i965_structs.h \
- intel_batchbuffer.h \
- intel_batchbuffer_dump.h\
- intel_compiler.h \
- intel_driver.h \
- intel_memman.h \
- object_heap.h \
- $(NULL)
+# convenience library that can be linked by driver and tests
+noinst_LTLIBRARIES = libi965_drv_video.la
+libi965_drv_video_la_CFLAGS = $(driver_cflags)
+libi965_drv_video_la_LDFLAGS = $(driver_ldflags)
+libi965_drv_video_la_LIBADD = $(driver_libs)
+libi965_drv_video_la_SOURCES = $(source_c)
+# driver module
i965_drv_video_la_LTLIBRARIES = i965_drv_video.la
i965_drv_video_ladir = $(LIBVA_DRIVERS_PATH)
i965_drv_video_la_CFLAGS = $(driver_cflags)
-i965_drv_video_la_LDFLAGS = $(driver_ldflags)
-i965_drv_video_la_LIBADD = $(driver_libs)
-i965_drv_video_la_SOURCES = $(source_c)
+i965_drv_video_la_LDFLAGS = -module $(driver_ldflags)
+i965_drv_video_la_LIBADD = libi965_drv_video.la $(driver_libs)
+i965_drv_video_la_SOURCES =
+
noinst_HEADERS = $(source_h)
+if USE_X11
+source_c += i965_output_dri.c
+source_h += i965_output_dri.h
+endif
+
+if USE_WAYLAND
+source_c += i965_output_wayland.c
+source_h += i965_output_wayland.h
+source_h += $(protocol_source_h)
+driver_cflags += $(WAYLAND_CLIENT_CFLAGS)
+endif
+
+# git version
+VERSION_FILE = .VERSION
+OLD_VERSION_FILE = $(VERSION_FILE).old
+NEW_VERSION_FILE = $(VERSION_FILE).new
+PKG_VERSION_FILE = $(VERSION_FILE).pkg
+
+intel_version.h: gen-version
+ $(AM_V_GEN) \
+ OV=`[ -f $(OLD_VERSION_FILE) ] && cat $(OLD_VERSION_FILE) || :`; \
+ NV=`cat $(NEW_VERSION_FILE)`; \
+ if [ "$$OV" != "$$NV" -o ! -f intel_version.h ]; then \
+ cp -f $(NEW_VERSION_FILE) $(OLD_VERSION_FILE); \
+ $(SED) -e "s|\@INTEL_DRIVER_GIT_VERSION\@|$${NV}|" \
+ $(srcdir)/intel_version.h.in > intel_version.h; \
+ fi
+
+gen-version:
+ @echo $(VERSION) > $(NEW_VERSION_FILE)
+if HAVE_GIT
+ @[ -d $(top_srcdir)/.git ] && \
+ (cd $(top_srcdir) && $(GIT) describe --tags) > $(NEW_VERSION_FILE) || :
+endif
+ @[ -f $(srcdir)/$(PKG_VERSION_FILE) ] && \
+ cp -f $(srcdir)/$(PKG_VERSION_FILE) $(NEW_VERSION_FILE) || :
+
+$(PKG_VERSION_FILE): $(NEW_VERSION_FILE)
+ @cp -f $< $@
+
+BUILT_SOURCES += intel_version.h
+EXTRA_DIST += Android.mk intel_version.h.in $(PKG_VERSION_FILE)
+
+# Wayland protocol
+if USE_WAYLAND
+protocol_source_h = wayland-drm-client-protocol.h
+i965_output_wayland.c: $(protocol_source_h)
+%-client-protocol.h : %.xml
+ $(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
+
+BUILT_SOURCES += $(protocol_source_h)
+endif
+
+EXTRA_DIST += \
+ wayland-drm.xml \
+ $(NULL)
+
+CLEANFILES = $(BUILT_SOURCES)
+
+DISTCLEANFILES = \
+ $(VERSION_FILE) \
+ $(OLD_VERSION_FILE) \
+ $(PKG_VERSION_FILE) \
+ $(NEW_VERSION_FILE) \
+ $(NULL)
+
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = Makefile.in config.h.in