Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(186)

Side by Side Diff: source/libvpx/libs.mk

Issue 11555023: libvpx: Add VP9 decoder. (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 ## 1 ##
2 ## Copyright (c) 2010 The WebM project authors. All Rights Reserved. 2 ## Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 ## 3 ##
4 ## Use of this source code is governed by a BSD-style license 4 ## Use of this source code is governed by a BSD-style license
5 ## that can be found in the LICENSE file in the root of the source 5 ## that can be found in the LICENSE file in the root of the source
6 ## tree. An additional intellectual property rights grant can be found 6 ## tree. An additional intellectual property rights grant can be found
7 ## in the file PATENTS. All contributing project authors may 7 ## in the file PATENTS. All contributing project authors may
8 ## be found in the AUTHORS file in the root of the source tree. 8 ## be found in the AUTHORS file in the root of the source tree.
9 ## 9 ##
10 10
11 11
12 # ARM assembly files are written in RVCT-style. We use some make magic to 12 # ARM assembly files are written in RVCT-style. We use some make magic to
13 # filter those files to allow GCC compilation 13 # filter those files to allow GCC compilation
14 ifeq ($(ARCH_ARM),yes) 14 ifeq ($(ARCH_ARM),yes)
15 ASM:=$(if $(filter yes,$(CONFIG_GCC)),.asm.s,.asm) 15 ASM:=$(if $(filter yes,$(CONFIG_GCC)),.asm.s,.asm)
16 else 16 else
17 ASM:=.asm 17 ASM:=.asm
18 endif 18 endif
19 19
20
21 #
22 # Calculate platform- and compiler-specific offsets for hand coded assembly
23 #
24 ifeq ($(filter icc gcc,$(TGT_CC)), $(TGT_CC))
25 OFFSET_PATTERN:='^[a-zA-Z0-9_]* EQU'
26 define asm_offsets_template
27 $$(BUILD_PFX)$(1): $$(BUILD_PFX)$(2).S
28 @echo " [CREATE] $$@"
29 $$(qexec)LC_ALL=C grep $$(OFFSET_PATTERN) $$< | tr -d '$$$$\#' $$(ADS2GA S) > $$@
30 $$(BUILD_PFX)$(2).S: $(2)
31 CLEAN-OBJS += $$(BUILD_PFX)$(1) $(2).S
32 endef
33 else
34 ifeq ($(filter rvct,$(TGT_CC)), $(TGT_CC))
35 define asm_offsets_template
36 $$(BUILD_PFX)$(1): obj_int_extract
37 $$(BUILD_PFX)$(1): $$(BUILD_PFX)$(2).o
38 @echo " [CREATE] $$@"
39 $$(qexec)./obj_int_extract rvds $$< $$(ADS2GAS) > $$@
40 OBJS-yes += $$(BUILD_PFX)$(2).o
41 CLEAN-OBJS += $$(BUILD_PFX)$(1)
42 $$(filter %$$(ASM).o,$$(OBJS-yes)): $$(BUILD_PFX)$(1)
43 endef
44 endif # rvct
45 endif # !gcc
46
47 #
48 # Rule to generate runtime cpu detection files
49 #
50 define rtcd_h_template
51 $$(BUILD_PFX)$(1).h: $$(SRC_PATH_BARE)/$(2)
52 @echo " [CREATE] $$@"
53 $$(qexec)$$(SRC_PATH_BARE)/build/make/rtcd.sh --arch=$$(TGT_ISA) \
54 --sym=$(1) \
55 --config=$$(target)$$(if $$(FAT_ARCHS),,-$$(TOOLCHAIN)).mk \
56 $$(RTCD_OPTIONS) $$^ > $$@
57 CLEAN-OBJS += $$(BUILD_PFX)$(1).h
58 RTCD += $$(BUILD_PFX)$(1).h
59 endef
60
20 CODEC_SRCS-yes += CHANGELOG 61 CODEC_SRCS-yes += CHANGELOG
21 CODEC_SRCS-yes += libs.mk 62 CODEC_SRCS-yes += libs.mk
22 63
23 # If this is a universal (fat) binary, then all the subarchitectures have
24 # already been built and our job is to stitch them together. The
25 # BUILD_LIBVPX variable indicates whether we should be building
26 # (compiling, linking) the library. The LIPO_LIBVPX variable indicates
27 # that we're stitching.
28 $(eval $(if $(filter universal%,$(TOOLCHAIN)),LIPO_LIBVPX,BUILD_LIBVPX):=yes)
29
30 include $(SRC_PATH_BARE)/vpx/vpx_codec.mk 64 include $(SRC_PATH_BARE)/vpx/vpx_codec.mk
31 CODEC_SRCS-yes += $(addprefix vpx/,$(call enabled,API_SRCS)) 65 CODEC_SRCS-yes += $(addprefix vpx/,$(call enabled,API_SRCS))
32 CODEC_DOC_SRCS += $(addprefix vpx/,$(call enabled,API_DOC_SRCS))
33 66
34 include $(SRC_PATH_BARE)/vpx_mem/vpx_mem.mk 67 include $(SRC_PATH_BARE)/vpx_mem/vpx_mem.mk
35 CODEC_SRCS-yes += $(addprefix vpx_mem/,$(call enabled,MEM_SRCS)) 68 CODEC_SRCS-yes += $(addprefix vpx_mem/,$(call enabled,MEM_SRCS))
36 69
37 include $(SRC_PATH_BARE)/vpx_scale/vpx_scale.mk 70 include $(SRC_PATH_BARE)/vpx_scale/vpx_scale.mk
38 CODEC_SRCS-yes += $(addprefix vpx_scale/,$(call enabled,SCALE_SRCS)) 71 CODEC_SRCS-yes += $(addprefix vpx_scale/,$(call enabled,SCALE_SRCS))
39 72
40 include $(SRC_PATH_BARE)/vpx_ports/vpx_ports.mk 73 ifneq ($(CONFIG_VP8_ENCODER)$(CONFIG_VP8_DECODER),)
41 CODEC_SRCS-yes += $(addprefix vpx_ports/,$(call enabled,PORTS_SRCS)) 74 VP8_PREFIX=vp8/
42 75 include $(SRC_PATH_BARE)/$(VP8_PREFIX)vp8_common.mk
76 endif
43 77
44 ifeq ($(CONFIG_VP8_ENCODER),yes) 78 ifeq ($(CONFIG_VP8_ENCODER),yes)
45 VP8_PREFIX=vp8/
46 include $(SRC_PATH_BARE)/$(VP8_PREFIX)vp8cx.mk 79 include $(SRC_PATH_BARE)/$(VP8_PREFIX)vp8cx.mk
47 CODEC_SRCS-yes += $(addprefix $(VP8_PREFIX),$(call enabled,VP8_CX_SRCS)) 80 CODEC_SRCS-yes += $(addprefix $(VP8_PREFIX),$(call enabled,VP8_CX_SRCS))
48 CODEC_EXPORTS-yes += $(addprefix $(VP8_PREFIX),$(VP8_CX_EXPORTS)) 81 CODEC_EXPORTS-yes += $(addprefix $(VP8_PREFIX),$(VP8_CX_EXPORTS))
82 CODEC_SRCS-yes += $(VP8_PREFIX)vp8cx.mk vpx/vp8.h vpx/vp8cx.h
83 CODEC_SRCS-$(ARCH_ARM) += $(VP8_PREFIX)vp8cx_arm.mk
49 INSTALL-LIBS-yes += include/vpx/vp8.h include/vpx/vp8cx.h 84 INSTALL-LIBS-yes += include/vpx/vp8.h include/vpx/vp8cx.h
50 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/$(VP8_PREFIX)/% 85 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/$(VP8_PREFIX)/%
86 CODEC_DOC_SRCS += vpx/vp8.h vpx/vp8cx.h
51 CODEC_DOC_SECTIONS += vp8 vp8_encoder 87 CODEC_DOC_SECTIONS += vp8 vp8_encoder
52 endif 88 endif
53 89
54 ifeq ($(CONFIG_VP8_DECODER),yes) 90 ifeq ($(CONFIG_VP8_DECODER),yes)
55 VP8_PREFIX=vp8/
56 include $(SRC_PATH_BARE)/$(VP8_PREFIX)vp8dx.mk 91 include $(SRC_PATH_BARE)/$(VP8_PREFIX)vp8dx.mk
57 CODEC_SRCS-yes += $(addprefix $(VP8_PREFIX),$(call enabled,VP8_DX_SRCS)) 92 CODEC_SRCS-yes += $(addprefix $(VP8_PREFIX),$(call enabled,VP8_DX_SRCS))
58 CODEC_EXPORTS-yes += $(addprefix $(VP8_PREFIX),$(VP8_DX_EXPORTS)) 93 CODEC_EXPORTS-yes += $(addprefix $(VP8_PREFIX),$(VP8_DX_EXPORTS))
94 CODEC_SRCS-yes += $(VP8_PREFIX)vp8dx.mk vpx/vp8.h vpx/vp8dx.h
59 INSTALL-LIBS-yes += include/vpx/vp8.h include/vpx/vp8dx.h 95 INSTALL-LIBS-yes += include/vpx/vp8.h include/vpx/vp8dx.h
60 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/$(VP8_PREFIX)/% 96 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/$(VP8_PREFIX)/%
97 CODEC_DOC_SRCS += vpx/vp8.h vpx/vp8dx.h
61 CODEC_DOC_SECTIONS += vp8 vp8_decoder 98 CODEC_DOC_SECTIONS += vp8 vp8_decoder
62 endif 99 endif
63 100
101 ifneq ($(CONFIG_VP9_ENCODER)$(CONFIG_VP9_DECODER),)
102 VP9_PREFIX=vp9/
103 include $(SRC_PATH_BARE)/$(VP9_PREFIX)vp9_common.mk
104 endif
105
106 ifeq ($(CONFIG_VP9_ENCODER),yes)
107 VP9_PREFIX=vp9/
108 include $(SRC_PATH_BARE)/$(VP9_PREFIX)vp9cx.mk
109 CODEC_SRCS-yes += $(addprefix $(VP9_PREFIX),$(call enabled,VP9_CX_SRCS))
110 CODEC_EXPORTS-yes += $(addprefix $(VP9_PREFIX),$(VP9_CX_EXPORTS))
111 CODEC_SRCS-yes += $(VP9_PREFIX)vp9cx.mk vpx/vp8.h vpx/vp8cx.h
112 INSTALL-LIBS-yes += include/vpx/vp8.h include/vpx/vp8cx.h
113 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/$(VP9_PREFIX)/%
114 CODEC_DOC_SRCS += vpx/vp8.h vpx/vp8cx.h
115 CODEC_DOC_SECTIONS += vp9 vp9_encoder
116 endif
117
118 ifeq ($(CONFIG_VP9_DECODER),yes)
119 VP9_PREFIX=vp9/
120 include $(SRC_PATH_BARE)/$(VP9_PREFIX)vp9dx.mk
121 CODEC_SRCS-yes += $(addprefix $(VP9_PREFIX),$(call enabled,VP9_DX_SRCS))
122 CODEC_EXPORTS-yes += $(addprefix $(VP9_PREFIX),$(VP9_DX_EXPORTS))
123 CODEC_SRCS-yes += $(VP9_PREFIX)vp9dx.mk vpx/vp8.h vpx/vp8dx.h
124 INSTALL-LIBS-yes += include/vpx/vp8.h include/vpx/vp8dx.h
125 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/$(VP9_PREFIX)/%
126 CODEC_DOC_SRCS += vpx/vp8.h vpx/vp8dx.h
127 CODEC_DOC_SECTIONS += vp9 vp9_decoder
128 endif
129
64 130
65 ifeq ($(CONFIG_ENCODERS),yes) 131 ifeq ($(CONFIG_ENCODERS),yes)
66 CODEC_DOC_SECTIONS += encoder 132 CODEC_DOC_SECTIONS += encoder
67 endif 133 endif
68 ifeq ($(CONFIG_DECODERS),yes) 134 ifeq ($(CONFIG_DECODERS),yes)
69 CODEC_DOC_SECTIONS += decoder 135 CODEC_DOC_SECTIONS += decoder
70 endif 136 endif
71 137
72 138
73 ifeq ($(CONFIG_MSVS),yes) 139 ifeq ($(CONFIG_MSVS),yes)
74 CODEC_LIB=$(if $(CONFIG_STATIC_MSVCRT),vpxmt,vpxmd) 140 CODEC_LIB=$(if $(CONFIG_STATIC_MSVCRT),vpxmt,vpxmd)
75 GTEST_LIB=$(if $(CONFIG_STATIC_MSVCRT),gtestmt,gtestmd) 141 GTEST_LIB=$(if $(CONFIG_STATIC_MSVCRT),gtestmt,gtestmd)
76 # This variable uses deferred expansion intentionally, since the results of 142 # This variable uses deferred expansion intentionally, since the results of
77 # $(wildcard) may change during the course of the Make. 143 # $(wildcard) may change during the course of the Make.
78 VS_PLATFORMS = $(foreach d,$(wildcard */Release/$(CODEC_LIB).lib),$(word 1,$(sub st /, ,$(d)))) 144 VS_PLATFORMS = $(foreach d,$(wildcard */Release/$(CODEC_LIB).lib),$(word 1,$(sub st /, ,$(d))))
79 endif 145 endif
80 146
81 # The following pairs define a mapping of locations in the distribution 147 # The following pairs define a mapping of locations in the distribution
82 # tree to locations in the source/build trees. 148 # tree to locations in the source/build trees.
83 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx/% 149 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx/%
84 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx_ports/% 150 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx_ports/%
85 INSTALL_MAPS += $(LIBSUBDIR)/% % 151 INSTALL_MAPS += $(LIBSUBDIR)/% %
86 INSTALL_MAPS += src/% $(SRC_PATH_BARE)/% 152 INSTALL_MAPS += src/% $(SRC_PATH_BARE)/%
87 ifeq ($(CONFIG_MSVS),yes) 153 ifeq ($(CONFIG_MSVS),yes)
88 INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Release/%) 154 INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Release/%)
89 INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Debug/%) 155 INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Debug/%)
90 endif 156 endif
91 157
158 # If this is a universal (fat) binary, then all the subarchitectures have
159 # already been built and our job is to stitch them together. The
160 # BUILD_LIBVPX variable indicates whether we should be building
161 # (compiling, linking) the library. The LIPO_LIBVPX variable indicates
162 # that we're stitching.
163 $(eval $(if $(filter universal%,$(TOOLCHAIN)),LIPO_LIBVPX,BUILD_LIBVPX):=yes)
164
92 CODEC_SRCS-$(BUILD_LIBVPX) += build/make/version.sh 165 CODEC_SRCS-$(BUILD_LIBVPX) += build/make/version.sh
93 CODEC_SRCS-$(BUILD_LIBVPX) += build/make/rtcd.sh 166 CODEC_SRCS-$(BUILD_LIBVPX) += build/make/rtcd.sh
167 CODEC_SRCS-$(BUILD_LIBVPX) += vpx/vpx_integer.h
168 CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/asm_offsets.h
169 CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/vpx_timer.h
170 CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/mem.h
94 CODEC_SRCS-$(BUILD_LIBVPX) += $(BUILD_PFX)vpx_config.c 171 CODEC_SRCS-$(BUILD_LIBVPX) += $(BUILD_PFX)vpx_config.c
95 INSTALL-SRCS-no += $(BUILD_PFX)vpx_config.c 172 INSTALL-SRCS-no += $(BUILD_PFX)vpx_config.c
173 ifeq ($(ARCH_X86)$(ARCH_X86_64),yes)
174 CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/emms.asm
175 CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/x86.h
176 CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/x86_abi_support.asm
177 CODEC_SRCS-$(BUILD_LIBVPX) += third_party/x86inc/x86inc.asm
178 CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/x86_cpuid.c
179 endif
180 CODEC_SRCS-$(ARCH_ARM) += vpx_ports/arm_cpudetect.c
181 CODEC_SRCS-$(ARCH_ARM) += vpx_ports/arm.h
96 CODEC_EXPORTS-$(BUILD_LIBVPX) += vpx/exports_com 182 CODEC_EXPORTS-$(BUILD_LIBVPX) += vpx/exports_com
97 CODEC_EXPORTS-$(CONFIG_ENCODERS) += vpx/exports_enc 183 CODEC_EXPORTS-$(CONFIG_ENCODERS) += vpx/exports_enc
98 CODEC_EXPORTS-$(CONFIG_DECODERS) += vpx/exports_dec 184 CODEC_EXPORTS-$(CONFIG_DECODERS) += vpx/exports_dec
99 185
100 INSTALL-LIBS-yes += include/vpx/vpx_codec.h 186 INSTALL-LIBS-yes += include/vpx/vpx_codec.h
101 INSTALL-LIBS-yes += include/vpx/vpx_image.h 187 INSTALL-LIBS-yes += include/vpx/vpx_image.h
102 INSTALL-LIBS-yes += include/vpx/vpx_integer.h 188 INSTALL-LIBS-yes += include/vpx/vpx_integer.h
103 INSTALL-LIBS-yes += include/vpx/vpx_codec_impl_top.h 189 INSTALL-LIBS-yes += include/vpx/vpx_codec_impl_top.h
104 INSTALL-LIBS-yes += include/vpx/vpx_codec_impl_bottom.h 190 INSTALL-LIBS-yes += include/vpx/vpx_codec_impl_bottom.h
105 INSTALL-LIBS-$(CONFIG_DECODERS) += include/vpx/vpx_decoder.h 191 INSTALL-LIBS-$(CONFIG_DECODERS) += include/vpx/vpx_decoder.h
106 INSTALL-LIBS-$(CONFIG_ENCODERS) += include/vpx/vpx_encoder.h 192 INSTALL-LIBS-$(CONFIG_ENCODERS) += include/vpx/vpx_encoder.h
107 ifeq ($(CONFIG_EXTERNAL_BUILD),yes) 193 ifeq ($(CONFIG_EXTERNAL_BUILD),yes)
108 ifeq ($(CONFIG_MSVS),yes) 194 ifeq ($(CONFIG_MSVS),yes)
109 INSTALL-LIBS-yes += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$( p)/$(CODEC_LIB).lib) 195 INSTALL-LIBS-yes += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$( p)/$(CODEC_LIB).lib)
110 INSTALL-LIBS-$(CONFIG_DEBUG_LIBS) += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$( p)/$(CODEC_LIB)d.lib) 196 INSTALL-LIBS-$(CONFIG_DEBUG_LIBS) += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$( p)/$(CODEC_LIB)d.lib)
111 INSTALL-LIBS-$(CONFIG_SHARED) += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/v px.dll) 197 INSTALL-LIBS-$(CONFIG_SHARED) += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/v px.dll)
112 INSTALL-LIBS-$(CONFIG_SHARED) += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/v px.exp) 198 INSTALL-LIBS-$(CONFIG_SHARED) += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/v px.exp)
113 endif 199 endif
114 else 200 else
115 INSTALL-LIBS-$(CONFIG_STATIC) += $(LIBSUBDIR)/libvpx.a 201 INSTALL-LIBS-$(CONFIG_STATIC) += $(LIBSUBDIR)/libvpx.a
116 INSTALL-LIBS-$(CONFIG_DEBUG_LIBS) += $(LIBSUBDIR)/libvpx_g.a 202 INSTALL-LIBS-$(CONFIG_DEBUG_LIBS) += $(LIBSUBDIR)/libvpx_g.a
117 endif 203 endif
118 204
119 CODEC_SRCS=$(filter-out %_test.cc,$(call enabled,CODEC_SRCS)) 205 CODEC_SRCS=$(filter-out %_offsets.c,\
206 $(filter-out %_test.cc,$(call enabled,CODEC_SRCS)))
120 INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(CODEC_SRCS) 207 INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(CODEC_SRCS)
121 INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(call enabled,CODEC_EXPORTS) 208 INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(call enabled,CODEC_EXPORTS)
122 209
123 210
124 # Generate a list of all enabled sources, in particular for exporting to gyp 211 # Generate a list of all enabled sources, in particular for exporting to gyp
125 # based build systems. 212 # based build systems.
126 libvpx_srcs.txt: 213 libvpx_srcs.txt:
127 @echo " [CREATE] $@" 214 @echo " [CREATE] $@"
128 @echo $(CODEC_SRCS) | xargs -n1 echo | sort -u > $@ 215 @echo $(CODEC_SRCS) | xargs -n1 echo | sort -u > $@
129 216
(...skipping 21 matching lines...) Expand all
151 vpx.def: $(call enabled,CODEC_EXPORTS) 238 vpx.def: $(call enabled,CODEC_EXPORTS)
152 @echo " [CREATE] $@" 239 @echo " [CREATE] $@"
153 $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_def.sh\ 240 $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_def.sh\
154 --name=vpx\ 241 --name=vpx\
155 --out=$@ $^ 242 --out=$@ $^
156 CLEAN-OBJS += vpx.def 243 CLEAN-OBJS += vpx.def
157 244
158 vpx.vcproj: $(CODEC_SRCS) vpx.def 245 vpx.vcproj: $(CODEC_SRCS) vpx.def
159 @echo " [CREATE] $@" 246 @echo " [CREATE] $@"
160 $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \ 247 $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \
161 » » » --lib \ 248 $(if $(CONFIG_SHARED),--dll,--lib) \
162 » » » --target=$(TOOLCHAIN) \ 249 --target=$(TOOLCHAIN) \
163 $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \ 250 $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \
164 --name=vpx \ 251 --name=vpx \
165 --proj-guid=DCE19DAF-69AC-46DB-B14A-39F0FAA5DB74 \ 252 --proj-guid=DCE19DAF-69AC-46DB-B14A-39F0FAA5DB74 \
166 --module-def=vpx.def \ 253 --module-def=vpx.def \
167 --ver=$(CONFIG_VS_VERSION) \ 254 --ver=$(CONFIG_VS_VERSION) \
168 --out=$@ $(CFLAGS) $^ \ 255 --out=$@ $(CFLAGS) $^ \
169 --src-path-bare="$(SRC_PATH_BARE)" \ 256 --src-path-bare="$(SRC_PATH_BARE)" \
170 257
171 PROJECTS-$(BUILD_LIBVPX) += vpx.vcproj 258 PROJECTS-$(BUILD_LIBVPX) += vpx.vcproj
172 259
173 vpx.vcproj: vpx_config.asm 260 vpx.vcproj: vpx_config.asm
174 vpx.vcproj: vpx_rtcd.h 261 vpx.vcproj: $(RTCD)
175 262
176 endif 263 endif
177 else 264 else
178 LIBVPX_OBJS=$(call objs,$(CODEC_SRCS)) 265 LIBVPX_OBJS=$(call objs,$(CODEC_SRCS))
179 OBJS-$(BUILD_LIBVPX) += $(LIBVPX_OBJS) 266 OBJS-$(BUILD_LIBVPX) += $(LIBVPX_OBJS)
180 LIBS-$(if $(BUILD_LIBVPX),$(CONFIG_STATIC)) += $(BUILD_PFX)libvpx.a $(BUILD_PFX) libvpx_g.a 267 LIBS-$(if $(BUILD_LIBVPX),$(CONFIG_STATIC)) += $(BUILD_PFX)libvpx.a $(BUILD_PFX) libvpx_g.a
181 $(BUILD_PFX)libvpx_g.a: $(LIBVPX_OBJS) 268 $(BUILD_PFX)libvpx_g.a: $(LIBVPX_OBJS)
182 269
270
183 BUILD_LIBVPX_SO := $(if $(BUILD_LIBVPX),$(CONFIG_SHARED)) 271 BUILD_LIBVPX_SO := $(if $(BUILD_LIBVPX),$(CONFIG_SHARED))
272
273 ifeq ($(filter darwin%,$(TGT_OS)),$(TGT_OS))
274 LIBVPX_SO := libvpx.$(VERSION_MAJOR).dylib
275 EXPORT_FILE := libvpx.syms
276 LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \
277 libvpx.dylib )
278 else
184 LIBVPX_SO := libvpx.so.$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION _PATCH) 279 LIBVPX_SO := libvpx.so.$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION _PATCH)
185 LIBS-$(BUILD_LIBVPX_SO) += $(BUILD_PFX)$(LIBVPX_SO)\ 280 EXPORT_FILE := libvpx.ver
186 $(notdir $(LIBVPX_SO_SYMLINKS)) 281 SYM_LINK := libvpx.so
187 $(BUILD_PFX)$(LIBVPX_SO): $(LIBVPX_OBJS) libvpx.ver
188 $(BUILD_PFX)$(LIBVPX_SO): extralibs += -lm
189 $(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx.so.$(VERSION_MAJOR)
190 $(BUILD_PFX)$(LIBVPX_SO): SO_VERSION_SCRIPT = libvpx.ver
191 LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \ 282 LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \
192 libvpx.so libvpx.so.$(VERSION_MAJOR) \ 283 libvpx.so libvpx.so.$(VERSION_MAJOR) \
193 libvpx.so.$(VERSION_MAJOR).$(VERSION_MINOR)) 284 libvpx.so.$(VERSION_MAJOR).$(VERSION_MINOR))
285 endif
286
287 LIBS-$(BUILD_LIBVPX_SO) += $(BUILD_PFX)$(LIBVPX_SO)\
288 $(notdir $(LIBVPX_SO_SYMLINKS))
289 $(BUILD_PFX)$(LIBVPX_SO): $(LIBVPX_OBJS) $(EXPORT_FILE)
290 $(BUILD_PFX)$(LIBVPX_SO): extralibs += -lm
291 $(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx.so.$(VERSION_MAJOR)
292 $(BUILD_PFX)$(LIBVPX_SO): EXPORTS_FILE = $(EXPORT_FILE)
194 293
195 libvpx.ver: $(call enabled,CODEC_EXPORTS) 294 libvpx.ver: $(call enabled,CODEC_EXPORTS)
196 @echo " [CREATE] $@" 295 @echo " [CREATE] $@"
197 $(qexec)echo "{ global:" > $@ 296 $(qexec)echo "{ global:" > $@
198 $(qexec)for f in $?; do awk '{print $$2";"}' < $$f >>$@; done 297 $(qexec)for f in $?; do awk '{print $$2";"}' < $$f >>$@; done
199 $(qexec)echo "local: *; };" >> $@ 298 $(qexec)echo "local: *; };" >> $@
200 CLEAN-OBJS += libvpx.ver 299 CLEAN-OBJS += libvpx.ver
201 300
301 libvpx.syms: $(call enabled,CODEC_EXPORTS)
302 @echo " [CREATE] $@"
303 $(qexec)awk '{print "_"$$2}' $^ >$@
304 CLEAN-OBJS += libvpx.syms
305
202 define libvpx_symlink_template 306 define libvpx_symlink_template
203 $(1): $(2) 307 $(1): $(2)
204 » @echo " [LN] $$@" 308 » @echo " [LN] $(2) $$@"
205 » $(qexec)ln -sf $(LIBVPX_SO) $$@ 309 » $(qexec)ln -sf $(2) $$@
206 endef 310 endef
207 311
208 $(eval $(call libvpx_symlink_template,\ 312 $(eval $(call libvpx_symlink_template,\
209 $(addprefix $(BUILD_PFX),$(notdir $(LIBVPX_SO_SYMLINKS))),\ 313 $(addprefix $(BUILD_PFX),$(notdir $(LIBVPX_SO_SYMLINKS))),\
210 $(BUILD_PFX)$(LIBVPX_SO))) 314 $(BUILD_PFX)$(LIBVPX_SO)))
211 $(eval $(call libvpx_symlink_template,\ 315 $(eval $(call libvpx_symlink_template,\
212 $(addprefix $(DIST_DIR)/,$(LIBVPX_SO_SYMLINKS)),\ 316 $(addprefix $(DIST_DIR)/,$(LIBVPX_SO_SYMLINKS)),\
213 $(DIST_DIR)/$(LIBSUBDIR)/$(LIBVPX_SO))) 317 $(DIST_DIR)/$(LIBSUBDIR)/$(LIBVPX_SO)))
214 318
215 INSTALL-LIBS-$(CONFIG_SHARED) += $(LIBVPX_SO_SYMLINKS) 319
216 INSTALL-LIBS-$(CONFIG_SHARED) += $(LIBSUBDIR)/$(LIBVPX_SO) 320 INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBVPX_SO_SYMLINKS)
321 INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBSUBDIR)/$(LIBVPX_SO)
322
217 323
218 LIBS-$(BUILD_LIBVPX) += vpx.pc 324 LIBS-$(BUILD_LIBVPX) += vpx.pc
219 vpx.pc: config.mk libs.mk 325 vpx.pc: config.mk libs.mk
220 @echo " [CREATE] $@" 326 @echo " [CREATE] $@"
221 $(qexec)echo '# pkg-config file from libvpx $(VERSION_STRING)' > $@ 327 $(qexec)echo '# pkg-config file from libvpx $(VERSION_STRING)' > $@
222 $(qexec)echo 'prefix=$(PREFIX)' >> $@ 328 $(qexec)echo 'prefix=$(PREFIX)' >> $@
223 $(qexec)echo 'exec_prefix=$${prefix}' >> $@ 329 $(qexec)echo 'exec_prefix=$${prefix}' >> $@
224 $(qexec)echo 'libdir=$${prefix}/$(LIBSUBDIR)' >> $@ 330 $(qexec)echo 'libdir=$${prefix}/$(LIBSUBDIR)' >> $@
225 $(qexec)echo 'includedir=$${prefix}/include' >> $@ 331 $(qexec)echo 'includedir=$${prefix}/include' >> $@
226 $(qexec)echo '' >> $@ 332 $(qexec)echo '' >> $@
227 $(qexec)echo 'Name: vpx' >> $@ 333 $(qexec)echo 'Name: vpx' >> $@
228 $(qexec)echo 'Description: WebM Project VPx codec implementation' >> $@ 334 $(qexec)echo 'Description: WebM Project VPx codec implementation' >> $@
229 $(qexec)echo 'Version: $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH )' >> $@ 335 $(qexec)echo 'Version: $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH )' >> $@
230 $(qexec)echo 'Requires:' >> $@ 336 $(qexec)echo 'Requires:' >> $@
231 $(qexec)echo 'Conflicts:' >> $@ 337 $(qexec)echo 'Conflicts:' >> $@
232 » $(qexec)echo 'Libs: -L$${libdir} -lvpx' >> $@ 338 » $(qexec)echo 'Libs: -L$${libdir} -lvpx -lm' >> $@
233 $(qexec)echo 'Libs.private: -lm -lpthread' >> $@ 339 $(qexec)echo 'Libs.private: -lm -lpthread' >> $@
234 $(qexec)echo 'Cflags: -I$${includedir}' >> $@ 340 $(qexec)echo 'Cflags: -I$${includedir}' >> $@
235 INSTALL-LIBS-yes += $(LIBSUBDIR)/pkgconfig/vpx.pc 341 INSTALL-LIBS-yes += $(LIBSUBDIR)/pkgconfig/vpx.pc
236 INSTALL_MAPS += $(LIBSUBDIR)/pkgconfig/%.pc %.pc 342 INSTALL_MAPS += $(LIBSUBDIR)/pkgconfig/%.pc %.pc
237 CLEAN-OBJS += vpx.pc 343 CLEAN-OBJS += vpx.pc
238 endif 344 endif
239 345
240 LIBS-$(LIPO_LIBVPX) += libvpx.a 346 LIBS-$(LIPO_LIBVPX) += libvpx.a
241 $(eval $(if $(LIPO_LIBVPX),$(call lipo_lib_template,libvpx.a))) 347 $(eval $(if $(LIPO_LIBVPX),$(call lipo_lib_template,libvpx.a)))
242 348
(...skipping 15 matching lines...) Expand all
258 @echo " END" $(ADS2GAS) >> $@ 364 @echo " END" $(ADS2GAS) >> $@
259 CLEAN-OBJS += $(BUILD_PFX)vpx_config.asm 365 CLEAN-OBJS += $(BUILD_PFX)vpx_config.asm
260 endif 366 endif
261 367
262 # 368 #
263 # Add assembler dependencies for configuration and offsets 369 # Add assembler dependencies for configuration and offsets
264 # 370 #
265 $(filter %.s.o,$(OBJS-yes)): $(BUILD_PFX)vpx_config.asm 371 $(filter %.s.o,$(OBJS-yes)): $(BUILD_PFX)vpx_config.asm
266 $(filter %$(ASM).o,$(OBJS-yes)): $(BUILD_PFX)vpx_config.asm 372 $(filter %$(ASM).o,$(OBJS-yes)): $(BUILD_PFX)vpx_config.asm
267 373
268 #
269 # Calculate platform- and compiler-specific offsets for hand coded assembly
270 #
271
272 OFFSET_PATTERN:='^[a-zA-Z0-9_]* EQU'
273
274 ifeq ($(filter icc gcc,$(TGT_CC)), $(TGT_CC))
275 $(BUILD_PFX)asm_com_offsets.asm: $(BUILD_PFX)$(VP8_PREFIX)common/asm_com_off sets.c.S
276 @echo " [CREATE] $@"
277 $(qexec)LC_ALL=C grep $(OFFSET_PATTERN) $< | tr -d '$$\#' $(ADS2GAS) > $ @
278 $(BUILD_PFX)$(VP8_PREFIX)common/asm_com_offsets.c.S: $(VP8_PREFIX)common/asm _com_offsets.c
279 CLEAN-OBJS += $(BUILD_PFX)asm_com_offsets.asm $(BUILD_PFX)$(VP8_PREFIX)commo n/asm_com_offsets.c.S
280
281 $(BUILD_PFX)asm_enc_offsets.asm: $(BUILD_PFX)$(VP8_PREFIX)encoder/asm_enc_of fsets.c.S
282 @echo " [CREATE] $@"
283 $(qexec)LC_ALL=C grep $(OFFSET_PATTERN) $< | tr -d '$$\#' $(ADS2GAS) > $ @
284 $(BUILD_PFX)$(VP8_PREFIX)encoder/asm_enc_offsets.c.S: $(VP8_PREFIX)encoder/a sm_enc_offsets.c
285 CLEAN-OBJS += $(BUILD_PFX)asm_enc_offsets.asm $(BUILD_PFX)$(VP8_PREFIX)encod er/asm_enc_offsets.c.S
286
287 $(BUILD_PFX)asm_dec_offsets.asm: $(BUILD_PFX)$(VP8_PREFIX)decoder/asm_dec_of fsets.c.S
288 @echo " [CREATE] $@"
289 $(qexec)LC_ALL=C grep $(OFFSET_PATTERN) $< | tr -d '$$\#' $(ADS2GAS) > $ @
290 $(BUILD_PFX)$(VP8_PREFIX)decoder/asm_dec_offsets.c.S: $(VP8_PREFIX)decoder/a sm_dec_offsets.c
291 CLEAN-OBJS += $(BUILD_PFX)asm_dec_offsets.asm $(BUILD_PFX)$(VP8_PREFIX)decod er/asm_dec_offsets.c.S
292 else
293 ifeq ($(filter rvct,$(TGT_CC)), $(TGT_CC))
294 asm_com_offsets.asm: obj_int_extract
295 asm_com_offsets.asm: $(VP8_PREFIX)common/asm_com_offsets.c.o
296 @echo " [CREATE] $@"
297 $(qexec)./obj_int_extract rvds $< $(ADS2GAS) > $@
298 OBJS-yes += $(VP8_PREFIX)common/asm_com_offsets.c.o
299 CLEAN-OBJS += asm_com_offsets.asm
300 $(filter %$(ASM).o,$(OBJS-yes)): $(BUILD_PFX)asm_com_offsets.asm
301
302 asm_enc_offsets.asm: obj_int_extract
303 asm_enc_offsets.asm: $(VP8_PREFIX)encoder/asm_enc_offsets.c.o
304 @echo " [CREATE] $@"
305 $(qexec)./obj_int_extract rvds $< $(ADS2GAS) > $@
306 OBJS-yes += $(VP8_PREFIX)encoder/asm_enc_offsets.c.o
307 CLEAN-OBJS += asm_enc_offsets.asm
308 $(filter %$(ASM).o,$(OBJS-yes)): $(BUILD_PFX)asm_enc_offsets.asm
309
310 asm_dec_offsets.asm: obj_int_extract
311 asm_dec_offsets.asm: $(VP8_PREFIX)decoder/asm_dec_offsets.c.o
312 @echo " [CREATE] $@"
313 $(qexec)./obj_int_extract rvds $< $(ADS2GAS) > $@
314 OBJS-yes += $(VP8_PREFIX)decoder/asm_dec_offsets.c.o
315 CLEAN-OBJS += asm_dec_offsets.asm
316 $(filter %$(ASM).o,$(OBJS-yes)): $(BUILD_PFX)asm_dec_offsets.asm
317 endif
318 endif
319 374
320 $(shell $(SRC_PATH_BARE)/build/make/version.sh "$(SRC_PATH_BARE)" $(BUILD_PFX)vp x_version.h) 375 $(shell $(SRC_PATH_BARE)/build/make/version.sh "$(SRC_PATH_BARE)" $(BUILD_PFX)vp x_version.h)
321 CLEAN-OBJS += $(BUILD_PFX)vpx_version.h 376 CLEAN-OBJS += $(BUILD_PFX)vpx_version.h
322 377
323 # 378 CODEC_DOC_SRCS += vpx/vpx_codec.h \
324 # Rule to generate runtime cpu detection files 379 vpx/vpx_decoder.h \
325 # 380 vpx/vpx_encoder.h \
326 $(BUILD_PFX)vpx_rtcd.h: $(SRC_PATH_BARE)/$(sort $(filter %rtcd_defs.sh,$(CODEC_S RCS))) 381 vpx/vpx_image.h
327 » @echo " [CREATE] $@"
328 » $(qexec)$(SRC_PATH_BARE)/build/make/rtcd.sh --arch=$(TGT_ISA) \
329 --sym=vpx_rtcd \
330 --config=$(target)$(if $(FAT_ARCHS),,-$(TOOLCHAIN)).mk \
331 $(RTCD_OPTIONS) $^ > $@
332 CLEAN-OBJS += $(BUILD_PFX)vpx_rtcd.h
333 382
334 ## 383 ##
335 ## libvpx test directives 384 ## libvpx test directives
336 ## 385 ##
337 ifeq ($(CONFIG_UNIT_TESTS),yes) 386 ifeq ($(CONFIG_UNIT_TESTS),yes)
338 LIBVPX_TEST_DATA_PATH ?= . 387 LIBVPX_TEST_DATA_PATH ?= .
339 388
340 include $(SRC_PATH_BARE)/test/test.mk 389 include $(SRC_PATH_BARE)/test/test.mk
341 LIBVPX_TEST_SRCS=$(addprefix test/,$(call enabled,LIBVPX_TEST_SRCS)) 390 LIBVPX_TEST_SRCS=$(addprefix test/,$(call enabled,LIBVPX_TEST_SRCS))
342 LIBVPX_TEST_BINS=./test_libvpx 391 LIBVPX_TEST_BINS=./test_libvpx
(...skipping 25 matching lines...) Expand all
368 gtest.vcproj: $(SRC_PATH_BARE)/third_party/googletest/src/src/gtest-all.cc 417 gtest.vcproj: $(SRC_PATH_BARE)/third_party/googletest/src/src/gtest-all.cc
369 @echo " [CREATE] $@" 418 @echo " [CREATE] $@"
370 $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \ 419 $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \
371 --lib \ 420 --lib \
372 --target=$(TOOLCHAIN) \ 421 --target=$(TOOLCHAIN) \
373 $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \ 422 $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \
374 --name=gtest \ 423 --name=gtest \
375 --proj-guid=EC00E1EC-AF68-4D92-A255-181690D1C9B1 \ 424 --proj-guid=EC00E1EC-AF68-4D92-A255-181690D1C9B1 \
376 --ver=$(CONFIG_VS_VERSION) \ 425 --ver=$(CONFIG_VS_VERSION) \
377 --src-path-bare="$(SRC_PATH_BARE)" \ 426 --src-path-bare="$(SRC_PATH_BARE)" \
427 -D_VARIADIC_MAX=10 \
378 --out=gtest.vcproj $(SRC_PATH_BARE)/third_party/googletest/src/src/g test-all.cc \ 428 --out=gtest.vcproj $(SRC_PATH_BARE)/third_party/googletest/src/src/g test-all.cc \
379 -I. -I"$(SRC_PATH_BARE)/third_party/googletest/src/include" -I"$(SRC _PATH_BARE)/third_party/googletest/src" 429 -I. -I"$(SRC_PATH_BARE)/third_party/googletest/src/include" -I"$(SRC _PATH_BARE)/third_party/googletest/src"
380 430
381 PROJECTS-$(CONFIG_MSVS) += gtest.vcproj 431 PROJECTS-$(CONFIG_MSVS) += gtest.vcproj
382 432
383 test_libvpx.vcproj: $(LIBVPX_TEST_SRCS) 433 test_libvpx.vcproj: $(LIBVPX_TEST_SRCS)
384 @echo " [CREATE] $@" 434 @echo " [CREATE] $@"
385 $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \ 435 $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \
386 --exe \ 436 --exe \
387 --target=$(TOOLCHAIN) \ 437 --target=$(TOOLCHAIN) \
388 --name=test_libvpx \ 438 --name=test_libvpx \
439 -D_VARIADIC_MAX=10 \
389 --proj-guid=CD837F5F-52D8-4314-A370-895D614166A7 \ 440 --proj-guid=CD837F5F-52D8-4314-A370-895D614166A7 \
390 --ver=$(CONFIG_VS_VERSION) \ 441 --ver=$(CONFIG_VS_VERSION) \
391 $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \ 442 $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \
392 --out=$@ $(INTERNAL_CFLAGS) $(CFLAGS) \ 443 --out=$@ $(INTERNAL_CFLAGS) $(CFLAGS) \
393 -I. -I"$(SRC_PATH_BARE)/third_party/googletest/src/include" \ 444 -I. -I"$(SRC_PATH_BARE)/third_party/googletest/src/include" \
394 -L. -l$(CODEC_LIB) -lwinmm -l$(GTEST_LIB) $^ 445 -L. -l$(CODEC_LIB) -lwinmm -l$(GTEST_LIB) $^
395 446
396 PROJECTS-$(CONFIG_MSVS) += test_libvpx.vcproj 447 PROJECTS-$(CONFIG_MSVS) += test_libvpx.vcproj
397 448
398 test:: testdata 449 test:: testdata
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 CLEAN-OBJS += libs.doxy 494 CLEAN-OBJS += libs.doxy
444 DOCS-yes += libs.doxy 495 DOCS-yes += libs.doxy
445 libs.doxy: $(CODEC_DOC_SRCS) 496 libs.doxy: $(CODEC_DOC_SRCS)
446 @echo " [CREATE] $@" 497 @echo " [CREATE] $@"
447 @rm -f $@ 498 @rm -f $@
448 @echo "INPUT += $^" >> $@ 499 @echo "INPUT += $^" >> $@
449 @echo "PREDEFINED = VPX_CODEC_DISABLE_COMPAT" >> $@ 500 @echo "PREDEFINED = VPX_CODEC_DISABLE_COMPAT" >> $@
450 @echo "INCLUDE_PATH += ." >> $@; 501 @echo "INCLUDE_PATH += ." >> $@;
451 @echo "ENABLED_SECTIONS += $(sort $(CODEC_DOC_SECTIONS))" >> $@ 502 @echo "ENABLED_SECTIONS += $(sort $(CODEC_DOC_SECTIONS))" >> $@
452 503
453 ## Generate vpx_rtcd.h for all objects 504 ## Generate rtcd.h for all objects
454 $(OBJS-yes:.o=.d): $(BUILD_PFX)vpx_rtcd.h 505 $(OBJS-yes:.o=.d): $(RTCD)
506
507 ## Update the global src list
508 SRCS += $(CODEC_SRCS) $(LIBVPX_TEST_SRCS) $(GTEST_SRCS)
OLDNEW
« libvpx.gyp ('K') | « source/libvpx/libmkv/testlibmkv.c ('k') | source/libvpx/md5_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698