OSDN Git Service

Check for -fstack-protector
[android-x86/hardware-intel-common-vaapi.git] / src / Makefile.am
index 1e4bbf2..5c52658 100644 (file)
 # 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 = \
@@ -33,77 +37,105 @@ 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