media/libtheora/lib/Makefile.in
author Chris Jones <jones.chris.g@gmail.com>
Thu, 03 Jan 2013 15:39:25 -0800
changeset 123101 b33bd9f6bd697bdc8d69d3bf19c3e8af4667ad6f
parent 107297 089fd92d1553f5b5970c2e388053609a82047d9f
child 125490 3ffefc46a8bdd54083083cdb250e5615c7a92fed
permissions -rw-r--r--
Bug 825976: Only use the crash reporter actor if it was successfully created. r=ted

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

DEPTH     = @DEPTH@
topsrcdir = @top_srcdir@
srcdir    = @srcdir@

include $(DEPTH)/config/autoconf.mk

ifdef GNU_CC
OS_CFLAGS := $(filter-out -pedantic,$(OS_CFLAGS))
endif

MODULE           = theora
LIBRARY_NAME     = theora
FORCE_STATIC_LIB = 1
ifeq (WINNT,$(OS_TARGET))
VISIBILITY_FLAGS =
endif

# The encoder is currently not included.
DEFINES += -DTHEORA_DISABLE_ENCODE

ifeq ($(findstring 86,$(OS_TEST)), 86)
ifneq ($(OS_ARCH),SunOS)
ifneq ($(OS_ARCH)$(OS_TEST),WINNTx86_64)
DEFINES += -DOC_X86_ASM
ifeq (64,$(findstring 64,$(OS_TEST)))
DEFINES += -DOC_X86_64_ASM
endif
endif
endif
endif

VPATH := $(srcdir)

CSRCS = \
  apiwrapper.c \
  bitpack.c \
  decapiwrapper.c \
  decinfo.c \
  decode.c \
  dequant.c \
  fragment.c \
  huffdec.c \
  idct.c \
  info.c \
  internal.c \
  quant.c \
  state.c \
  $(NULL)

ifeq ($(findstring 86,$(OS_TEST)), 86)
ifdef _MSC_VER
ifneq (64,$(findstring 64,$(OS_TEST)))
VPATH += $(srcdir)/x86_vc

CSRCS += \
  mmxidct.c \
  mmxfrag.c \
  mmxstate.c \
  x86state.c \
  x86cpu.c \
  $(NULL)
endif
else
VPATH += $(srcdir)/x86

CSRCS += \
  mmxidct.c \
  mmxfrag.c \
  mmxstate.c \
  sse2idct.c \
  x86state.c \
  x86cpu.c \
  $(NULL)
endif
endif

ifdef GNU_AS
ifeq ($(findstring arm,$(OS_TEST)), arm)

VPATH += $(srcdir)/arm

CSRCS += \
  armcpu.c \
  armstate.c \
  $(NULL)

DEFINES += -DOC_ARM_ASM -DOC_ARM_ASM_EDSP -DOC_ARM_ASM_MEDIA -DOC_ARM_ASM_NEON

# The Android NDK doesn't pre-define anything to indicate the OS it's on, so
# do it for them.
ifeq ($(OS_TARGET),Android)
DEFINES += -D__linux__
endif

THEORA_ASFILES  = \
  armbits.s \
  armfrag.s \
  armidct.s \
  armloop.s \
  $(NULL)

ASFILES = $(patsubst %.s,%-gnu.$(ASM_SUFFIX),$(THEORA_ASFILES))

# These flags are a lie; they're just used to enable the requisite
# opcodes; actual arch detection is done at runtime.
ASFLAGS = -march=armv7-a -mfpu=neon

armfrag-gnu.$(ASM_SUFFIX): armopts-gnu.S
armidct-gnu.$(ASM_SUFFIX): armopts-gnu.S
armloop-gnu.$(ASM_SUFFIX): armopts-gnu.S

# armopts needs a specific rule, because arm2gnu.pl will always add the .S
# suffix when translating the files that include it.
armopts-gnu.S: armopts.s
	$(PERL) $(srcdir)/arm/arm2gnu.pl < $< > $@
# For all others, we can use an implicit rule with the configured $(ASM_SUFFIX).
%-gnu.$(ASM_SUFFIX): %.s
	$(PERL) $(srcdir)/arm/arm2gnu.pl < $< > $@

endif
endif

include $(topsrcdir)/config/rules.mk

LOCAL_INCLUDES = -I$(srcdir)