| OLD | NEW |
| 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)$(CONFIG_MSVS)),.asm.s,.asm) | 15 ASM:=$(if $(filter yes,$(CONFIG_GCC)$(CONFIG_MSVS)),.asm.s,.asm) |
| 16 else | 16 else |
| 17 ASM:=.asm | 17 ASM:=.asm |
| 18 endif | 18 endif |
| 19 | 19 |
| 20 # | 20 # |
| 21 # Rule to generate runtime cpu detection files | 21 # Rule to generate runtime cpu detection files |
| 22 # | 22 # |
| 23 define rtcd_h_template | 23 define rtcd_h_template |
| 24 $$(BUILD_PFX)$(1).h: $$(SRC_PATH_BARE)/$(2) | 24 $$(BUILD_PFX)$(1).h: $$(SRC_PATH_BARE)/$(2) |
| 25 @echo " [CREATE] $$@" | 25 @echo " [CREATE] $$@" |
| 26 $$(qexec)$$(SRC_PATH_BARE)/build/make/rtcd.pl --arch=$$(TGT_ISA) \ | 26 $$(qexec)$$(SRC_PATH_BARE)/build/make/rtcd.pl --arch=$$(TGT_ISA) \ |
| 27 --sym=$(1) \ | 27 --sym=$(1) \ |
| 28 --config=$$(CONFIG_DIR)$$(target)$$(if $$(FAT_ARCHS),,-$$(TOOLCHAIN)).
mk \ | 28 --config=$$(CONFIG_DIR)$$(target)-$$(TOOLCHAIN).mk \ |
| 29 $$(RTCD_OPTIONS) $$^ > $$@ | 29 $$(RTCD_OPTIONS) $$^ > $$@ |
| 30 CLEAN-OBJS += $$(BUILD_PFX)$(1).h | 30 CLEAN-OBJS += $$(BUILD_PFX)$(1).h |
| 31 RTCD += $$(BUILD_PFX)$(1).h | 31 RTCD += $$(BUILD_PFX)$(1).h |
| 32 endef | 32 endef |
| 33 | 33 |
| 34 CODEC_SRCS-yes += CHANGELOG | 34 CODEC_SRCS-yes += CHANGELOG |
| 35 CODEC_SRCS-yes += libs.mk | 35 CODEC_SRCS-yes += libs.mk |
| 36 | 36 |
| 37 # If this is a universal (fat) binary, then all the subarchitectures have | |
| 38 # already been built and our job is to stitch them together. The | |
| 39 # BUILD_LIBVPX variable indicates whether we should be building | |
| 40 # (compiling, linking) the library. The LIPO_LIBVPX variable indicates | |
| 41 # that we're stitching. | |
| 42 $(eval $(if $(filter universal%,$(TOOLCHAIN)),LIPO_LIBVPX,BUILD_LIBVPX):=yes) | |
| 43 | |
| 44 include $(SRC_PATH_BARE)/vpx/vpx_codec.mk | 37 include $(SRC_PATH_BARE)/vpx/vpx_codec.mk |
| 45 CODEC_SRCS-yes += $(addprefix vpx/,$(call enabled,API_SRCS)) | 38 CODEC_SRCS-yes += $(addprefix vpx/,$(call enabled,API_SRCS)) |
| 46 CODEC_DOC_SRCS += $(addprefix vpx/,$(call enabled,API_DOC_SRCS)) | 39 CODEC_DOC_SRCS += $(addprefix vpx/,$(call enabled,API_DOC_SRCS)) |
| 47 | 40 |
| 48 include $(SRC_PATH_BARE)/vpx_mem/vpx_mem.mk | 41 include $(SRC_PATH_BARE)/vpx_mem/vpx_mem.mk |
| 49 CODEC_SRCS-yes += $(addprefix vpx_mem/,$(call enabled,MEM_SRCS)) | 42 CODEC_SRCS-yes += $(addprefix vpx_mem/,$(call enabled,MEM_SRCS)) |
| 50 | 43 |
| 51 include $(SRC_PATH_BARE)/vpx_scale/vpx_scale.mk | 44 include $(SRC_PATH_BARE)/vpx_scale/vpx_scale.mk |
| 52 CODEC_SRCS-yes += $(addprefix vpx_scale/,$(call enabled,SCALE_SRCS)) | 45 CODEC_SRCS-yes += $(addprefix vpx_scale/,$(call enabled,SCALE_SRCS)) |
| 53 | 46 |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 # tree to locations in the source/build trees. | 126 # tree to locations in the source/build trees. |
| 134 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx/% | 127 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx/% |
| 135 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx_ports/% | 128 INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx_ports/% |
| 136 INSTALL_MAPS += $(LIBSUBDIR)/% % | 129 INSTALL_MAPS += $(LIBSUBDIR)/% % |
| 137 INSTALL_MAPS += src/% $(SRC_PATH_BARE)/% | 130 INSTALL_MAPS += src/% $(SRC_PATH_BARE)/% |
| 138 ifeq ($(CONFIG_MSVS),yes) | 131 ifeq ($(CONFIG_MSVS),yes) |
| 139 INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Release/%) | 132 INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Release/%) |
| 140 INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Debug/%) | 133 INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Debug/%) |
| 141 endif | 134 endif |
| 142 | 135 |
| 143 CODEC_SRCS-$(BUILD_LIBVPX) += build/make/version.sh | 136 CODEC_SRCS-yes += build/make/version.sh |
| 144 CODEC_SRCS-$(BUILD_LIBVPX) += build/make/rtcd.pl | 137 CODEC_SRCS-yes += build/make/rtcd.pl |
| 145 CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/emmintrin_compat.h | 138 CODEC_SRCS-yes += vpx_ports/emmintrin_compat.h |
| 146 CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/mem_ops.h | 139 CODEC_SRCS-yes += vpx_ports/mem_ops.h |
| 147 CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/mem_ops_aligned.h | 140 CODEC_SRCS-yes += vpx_ports/mem_ops_aligned.h |
| 148 CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/vpx_once.h | 141 CODEC_SRCS-yes += vpx_ports/vpx_once.h |
| 149 CODEC_SRCS-$(BUILD_LIBVPX) += $(BUILD_PFX)vpx_config.c | 142 CODEC_SRCS-yes += $(BUILD_PFX)vpx_config.c |
| 150 INSTALL-SRCS-no += $(BUILD_PFX)vpx_config.c | 143 INSTALL-SRCS-no += $(BUILD_PFX)vpx_config.c |
| 151 ifeq ($(ARCH_X86)$(ARCH_X86_64),yes) | 144 ifeq ($(ARCH_X86)$(ARCH_X86_64),yes) |
| 152 INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += third_party/x86inc/x86inc.asm | 145 INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += third_party/x86inc/x86inc.asm |
| 153 endif | 146 endif |
| 154 CODEC_EXPORTS-$(BUILD_LIBVPX) += vpx/exports_com | 147 CODEC_EXPORTS-yes += vpx/exports_com |
| 155 CODEC_EXPORTS-$(CONFIG_ENCODERS) += vpx/exports_enc | 148 CODEC_EXPORTS-$(CONFIG_ENCODERS) += vpx/exports_enc |
| 156 CODEC_EXPORTS-$(CONFIG_DECODERS) += vpx/exports_dec | 149 CODEC_EXPORTS-$(CONFIG_DECODERS) += vpx/exports_dec |
| 157 | 150 |
| 158 INSTALL-LIBS-yes += include/vpx/vpx_codec.h | 151 INSTALL-LIBS-yes += include/vpx/vpx_codec.h |
| 159 INSTALL-LIBS-yes += include/vpx/vpx_frame_buffer.h | 152 INSTALL-LIBS-yes += include/vpx/vpx_frame_buffer.h |
| 160 INSTALL-LIBS-yes += include/vpx/vpx_image.h | 153 INSTALL-LIBS-yes += include/vpx/vpx_image.h |
| 161 INSTALL-LIBS-yes += include/vpx/vpx_integer.h | 154 INSTALL-LIBS-yes += include/vpx/vpx_integer.h |
| 162 INSTALL-LIBS-$(CONFIG_DECODERS) += include/vpx/vpx_decoder.h | 155 INSTALL-LIBS-$(CONFIG_DECODERS) += include/vpx/vpx_decoder.h |
| 163 INSTALL-LIBS-$(CONFIG_ENCODERS) += include/vpx/vpx_encoder.h | 156 INSTALL-LIBS-$(CONFIG_ENCODERS) += include/vpx/vpx_encoder.h |
| 164 ifeq ($(CONFIG_EXTERNAL_BUILD),yes) | 157 ifeq ($(CONFIG_EXTERNAL_BUILD),yes) |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \ | 204 $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \ |
| 212 --name=vpx \ | 205 --name=vpx \ |
| 213 --proj-guid=DCE19DAF-69AC-46DB-B14A-39F0FAA5DB74 \ | 206 --proj-guid=DCE19DAF-69AC-46DB-B14A-39F0FAA5DB74 \ |
| 214 --module-def=vpx.def \ | 207 --module-def=vpx.def \ |
| 215 --ver=$(CONFIG_VS_VERSION) \ | 208 --ver=$(CONFIG_VS_VERSION) \ |
| 216 --src-path-bare="$(SRC_PATH_BARE)" \ | 209 --src-path-bare="$(SRC_PATH_BARE)" \ |
| 217 --out=$@ $(CFLAGS) \ | 210 --out=$@ $(CFLAGS) \ |
| 218 $(filter-out $(addprefix %, $(ASM_INCLUDES)), $^) \ | 211 $(filter-out $(addprefix %, $(ASM_INCLUDES)), $^) \ |
| 219 --src-path-bare="$(SRC_PATH_BARE)" \ | 212 --src-path-bare="$(SRC_PATH_BARE)" \ |
| 220 | 213 |
| 221 PROJECTS-$(BUILD_LIBVPX) += vpx.$(VCPROJ_SFX) | 214 PROJECTS-yes += vpx.$(VCPROJ_SFX) |
| 222 | 215 |
| 223 vpx.$(VCPROJ_SFX): vpx_config.asm | 216 vpx.$(VCPROJ_SFX): vpx_config.asm |
| 224 vpx.$(VCPROJ_SFX): $(RTCD) | 217 vpx.$(VCPROJ_SFX): $(RTCD) |
| 225 | 218 |
| 226 endif | 219 endif |
| 227 else | 220 else |
| 228 LIBVPX_OBJS=$(call objs,$(CODEC_SRCS)) | 221 LIBVPX_OBJS=$(call objs,$(CODEC_SRCS)) |
| 229 OBJS-$(BUILD_LIBVPX) += $(LIBVPX_OBJS) | 222 OBJS-yes += $(LIBVPX_OBJS) |
| 230 LIBS-$(if $(BUILD_LIBVPX),$(CONFIG_STATIC)) += $(BUILD_PFX)libvpx.a $(BUILD_PFX)
libvpx_g.a | 223 LIBS-$(if yes,$(CONFIG_STATIC)) += $(BUILD_PFX)libvpx.a $(BUILD_PFX)libvpx_g.a |
| 231 $(BUILD_PFX)libvpx_g.a: $(LIBVPX_OBJS) | 224 $(BUILD_PFX)libvpx_g.a: $(LIBVPX_OBJS) |
| 232 | 225 |
| 233 | |
| 234 BUILD_LIBVPX_SO := $(if $(BUILD_LIBVPX),$(CONFIG_SHARED)) | |
| 235 | |
| 236 SO_VERSION_MAJOR := 2 | 226 SO_VERSION_MAJOR := 2 |
| 237 SO_VERSION_MINOR := 0 | 227 SO_VERSION_MINOR := 0 |
| 238 SO_VERSION_PATCH := 0 | 228 SO_VERSION_PATCH := 0 |
| 239 ifeq ($(filter darwin%,$(TGT_OS)),$(TGT_OS)) | 229 ifeq ($(filter darwin%,$(TGT_OS)),$(TGT_OS)) |
| 240 LIBVPX_SO := libvpx.$(SO_VERSION_MAJOR).dylib | 230 LIBVPX_SO := libvpx.$(SO_VERSION_MAJOR).dylib |
| 241 EXPORT_FILE := libvpx.syms | 231 EXPORT_FILE := libvpx.syms |
| 242 LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \ | 232 LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \ |
| 243 libvpx.dylib ) | 233 libvpx.dylib ) |
| 244 else | 234 else |
| 245 LIBVPX_SO := libvpx.so.$(SO_VERSION_MAJOR).$(SO_VERSION_MINOR).$(S
O_VERSION_PATCH) | 235 LIBVPX_SO := libvpx.so.$(SO_VERSION_MAJOR).$(SO_VERSION_MINOR).$(S
O_VERSION_PATCH) |
| 246 EXPORT_FILE := libvpx.ver | 236 EXPORT_FILE := libvpx.ver |
| 247 LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \ | 237 LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \ |
| 248 libvpx.so libvpx.so.$(SO_VERSION_MAJOR) \ | 238 libvpx.so libvpx.so.$(SO_VERSION_MAJOR) \ |
| 249 libvpx.so.$(SO_VERSION_MAJOR).$(SO_VERSION_MINOR)) | 239 libvpx.so.$(SO_VERSION_MAJOR).$(SO_VERSION_MINOR)) |
| 250 endif | 240 endif |
| 251 | 241 |
| 252 LIBS-$(BUILD_LIBVPX_SO) += $(BUILD_PFX)$(LIBVPX_SO)\ | 242 LIBS-$(CONFIG_SHARED) += $(BUILD_PFX)$(LIBVPX_SO)\ |
| 253 $(notdir $(LIBVPX_SO_SYMLINKS)) | 243 $(notdir $(LIBVPX_SO_SYMLINKS)) |
| 254 $(BUILD_PFX)$(LIBVPX_SO): $(LIBVPX_OBJS) $(EXPORT_FILE) | 244 $(BUILD_PFX)$(LIBVPX_SO): $(LIBVPX_OBJS) $(EXPORT_FILE) |
| 255 $(BUILD_PFX)$(LIBVPX_SO): extralibs += -lm | 245 $(BUILD_PFX)$(LIBVPX_SO): extralibs += -lm |
| 256 $(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx.so.$(SO_VERSION_MAJOR) | 246 $(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx.so.$(SO_VERSION_MAJOR) |
| 257 $(BUILD_PFX)$(LIBVPX_SO): EXPORTS_FILE = $(EXPORT_FILE) | 247 $(BUILD_PFX)$(LIBVPX_SO): EXPORTS_FILE = $(EXPORT_FILE) |
| 258 | 248 |
| 259 libvpx.ver: $(call enabled,CODEC_EXPORTS) | 249 libvpx.ver: $(call enabled,CODEC_EXPORTS) |
| 260 @echo " [CREATE] $@" | 250 @echo " [CREATE] $@" |
| 261 $(qexec)echo "{ global:" > $@ | 251 $(qexec)echo "{ global:" > $@ |
| 262 $(qexec)for f in $?; do awk '{print $$2";"}' < $$f >>$@; done | 252 $(qexec)for f in $?; do awk '{print $$2";"}' < $$f >>$@; done |
| (...skipping 13 matching lines...) Expand all Loading... |
| 276 endef | 266 endef |
| 277 | 267 |
| 278 $(eval $(call libvpx_symlink_template,\ | 268 $(eval $(call libvpx_symlink_template,\ |
| 279 $(addprefix $(BUILD_PFX),$(notdir $(LIBVPX_SO_SYMLINKS))),\ | 269 $(addprefix $(BUILD_PFX),$(notdir $(LIBVPX_SO_SYMLINKS))),\ |
| 280 $(BUILD_PFX)$(LIBVPX_SO))) | 270 $(BUILD_PFX)$(LIBVPX_SO))) |
| 281 $(eval $(call libvpx_symlink_template,\ | 271 $(eval $(call libvpx_symlink_template,\ |
| 282 $(addprefix $(DIST_DIR)/,$(LIBVPX_SO_SYMLINKS)),\ | 272 $(addprefix $(DIST_DIR)/,$(LIBVPX_SO_SYMLINKS)),\ |
| 283 $(LIBVPX_SO))) | 273 $(LIBVPX_SO))) |
| 284 | 274 |
| 285 | 275 |
| 286 INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBVPX_SO_SYMLINKS) | 276 INSTALL-LIBS-$(CONFIG_SHARED) += $(LIBVPX_SO_SYMLINKS) |
| 287 INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBSUBDIR)/$(LIBVPX_SO) | 277 INSTALL-LIBS-$(CONFIG_SHARED) += $(LIBSUBDIR)/$(LIBVPX_SO) |
| 288 | 278 |
| 289 | 279 |
| 290 LIBS-$(BUILD_LIBVPX) += vpx.pc | 280 LIBS-yes += vpx.pc |
| 291 vpx.pc: config.mk libs.mk | 281 vpx.pc: config.mk libs.mk |
| 292 @echo " [CREATE] $@" | 282 @echo " [CREATE] $@" |
| 293 $(qexec)echo '# pkg-config file from libvpx $(VERSION_STRING)' > $@ | 283 $(qexec)echo '# pkg-config file from libvpx $(VERSION_STRING)' > $@ |
| 294 $(qexec)echo 'prefix=$(PREFIX)' >> $@ | 284 $(qexec)echo 'prefix=$(PREFIX)' >> $@ |
| 295 $(qexec)echo 'exec_prefix=$${prefix}' >> $@ | 285 $(qexec)echo 'exec_prefix=$${prefix}' >> $@ |
| 296 $(qexec)echo 'libdir=$${prefix}/$(LIBSUBDIR)' >> $@ | 286 $(qexec)echo 'libdir=$${prefix}/$(LIBSUBDIR)' >> $@ |
| 297 $(qexec)echo 'includedir=$${prefix}/include' >> $@ | 287 $(qexec)echo 'includedir=$${prefix}/include' >> $@ |
| 298 $(qexec)echo '' >> $@ | 288 $(qexec)echo '' >> $@ |
| 299 $(qexec)echo 'Name: vpx' >> $@ | 289 $(qexec)echo 'Name: vpx' >> $@ |
| 300 $(qexec)echo 'Description: WebM Project VPx codec implementation' >> $@ | 290 $(qexec)echo 'Description: WebM Project VPx codec implementation' >> $@ |
| 301 $(qexec)echo 'Version: $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH
)' >> $@ | 291 $(qexec)echo 'Version: $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH
)' >> $@ |
| 302 $(qexec)echo 'Requires:' >> $@ | 292 $(qexec)echo 'Requires:' >> $@ |
| 303 $(qexec)echo 'Conflicts:' >> $@ | 293 $(qexec)echo 'Conflicts:' >> $@ |
| 304 $(qexec)echo 'Libs: -L$${libdir} -lvpx -lm' >> $@ | 294 $(qexec)echo 'Libs: -L$${libdir} -lvpx -lm' >> $@ |
| 305 ifeq ($(HAVE_PTHREAD_H),yes) | 295 ifeq ($(HAVE_PTHREAD_H),yes) |
| 306 $(qexec)echo 'Libs.private: -lm -lpthread' >> $@ | 296 $(qexec)echo 'Libs.private: -lm -lpthread' >> $@ |
| 307 else | 297 else |
| 308 $(qexec)echo 'Libs.private: -lm' >> $@ | 298 $(qexec)echo 'Libs.private: -lm' >> $@ |
| 309 endif | 299 endif |
| 310 $(qexec)echo 'Cflags: -I$${includedir}' >> $@ | 300 $(qexec)echo 'Cflags: -I$${includedir}' >> $@ |
| 311 INSTALL-LIBS-yes += $(LIBSUBDIR)/pkgconfig/vpx.pc | 301 INSTALL-LIBS-yes += $(LIBSUBDIR)/pkgconfig/vpx.pc |
| 312 INSTALL_MAPS += $(LIBSUBDIR)/pkgconfig/%.pc %.pc | 302 INSTALL_MAPS += $(LIBSUBDIR)/pkgconfig/%.pc %.pc |
| 313 CLEAN-OBJS += vpx.pc | 303 CLEAN-OBJS += vpx.pc |
| 314 endif | 304 endif |
| 315 | 305 |
| 316 LIBS-$(LIPO_LIBVPX) += libvpx.a | |
| 317 $(eval $(if $(LIPO_LIBVPX),$(call lipo_lib_template,libvpx.a))) | |
| 318 | |
| 319 # | 306 # |
| 320 # Rule to make assembler configuration file from C configuration file | 307 # Rule to make assembler configuration file from C configuration file |
| 321 # | 308 # |
| 322 ifeq ($(ARCH_X86)$(ARCH_X86_64),yes) | 309 ifeq ($(ARCH_X86)$(ARCH_X86_64),yes) |
| 323 # YASM | 310 # YASM |
| 324 $(BUILD_PFX)vpx_config.asm: $(BUILD_PFX)vpx_config.h | 311 $(BUILD_PFX)vpx_config.asm: $(BUILD_PFX)vpx_config.h |
| 325 @echo " [CREATE] $@" | 312 @echo " [CREATE] $@" |
| 326 @egrep "#define [A-Z0-9_]+ [01]" $< \ | 313 @egrep "#define [A-Z0-9_]+ [01]" $< \ |
| 327 | awk '{print $$2 " equ " $$3}' > $@ | 314 | awk '{print $$2 " equ " $$3}' > $@ |
| 328 else | 315 else |
| (...skipping 18 matching lines...) Expand all Loading... |
| 347 | 334 |
| 348 | 335 |
| 349 ## | 336 ## |
| 350 ## libvpx test directives | 337 ## libvpx test directives |
| 351 ## | 338 ## |
| 352 ifeq ($(CONFIG_UNIT_TESTS),yes) | 339 ifeq ($(CONFIG_UNIT_TESTS),yes) |
| 353 LIBVPX_TEST_DATA_PATH ?= . | 340 LIBVPX_TEST_DATA_PATH ?= . |
| 354 | 341 |
| 355 include $(SRC_PATH_BARE)/test/test.mk | 342 include $(SRC_PATH_BARE)/test/test.mk |
| 356 LIBVPX_TEST_SRCS=$(addprefix test/,$(call enabled,LIBVPX_TEST_SRCS)) | 343 LIBVPX_TEST_SRCS=$(addprefix test/,$(call enabled,LIBVPX_TEST_SRCS)) |
| 357 LIBVPX_TEST_BINS=./test_libvpx$(EXE_SFX) | 344 LIBVPX_TEST_BIN=./test_libvpx$(EXE_SFX) |
| 358 LIBVPX_TEST_DATA=$(addprefix $(LIBVPX_TEST_DATA_PATH)/,\ | 345 LIBVPX_TEST_DATA=$(addprefix $(LIBVPX_TEST_DATA_PATH)/,\ |
| 359 $(call enabled,LIBVPX_TEST_DATA)) | 346 $(call enabled,LIBVPX_TEST_DATA)) |
| 360 libvpx_test_data_url=http://downloads.webmproject.org/test_data/libvpx/$(1) | 347 libvpx_test_data_url=http://downloads.webmproject.org/test_data/libvpx/$(1) |
| 361 | 348 |
| 349 TEST_INTRA_PRED_SPEED_BIN=./test_intra_pred_speed$(EXE_SFX) |
| 350 TEST_INTRA_PRED_SPEED_SRCS=$(addprefix test/,$(call enabled,TEST_INTRA_PRED_SPEE
D_SRCS)) |
| 351 |
| 362 libvpx_test_srcs.txt: | 352 libvpx_test_srcs.txt: |
| 363 @echo " [CREATE] $@" | 353 @echo " [CREATE] $@" |
| 364 @echo $(LIBVPX_TEST_SRCS) | xargs -n1 echo | LC_ALL=C sort -u > $@ | 354 @echo $(LIBVPX_TEST_SRCS) | xargs -n1 echo | LC_ALL=C sort -u > $@ |
| 365 CLEAN-OBJS += libvpx_test_srcs.txt | 355 CLEAN-OBJS += libvpx_test_srcs.txt |
| 366 | 356 |
| 367 $(LIBVPX_TEST_DATA): $(SRC_PATH_BARE)/test/test-data.sha1 | 357 $(LIBVPX_TEST_DATA): $(SRC_PATH_BARE)/test/test-data.sha1 |
| 368 @echo " [DOWNLOAD] $@" | 358 @echo " [DOWNLOAD] $@" |
| 369 $(qexec)trap 'rm -f $@' INT TERM &&\ | 359 $(qexec)trap 'rm -f $@' INT TERM &&\ |
| 370 curl -L -o $@ $(call libvpx_test_data_url,$(@F)) | 360 curl -L -o $@ $(call libvpx_test_data_url,$(@F)) |
| 371 | 361 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 --proj-guid=CD837F5F-52D8-4314-A370-895D614166A7 \ | 405 --proj-guid=CD837F5F-52D8-4314-A370-895D614166A7 \ |
| 416 --ver=$(CONFIG_VS_VERSION) \ | 406 --ver=$(CONFIG_VS_VERSION) \ |
| 417 --src-path-bare="$(SRC_PATH_BARE)" \ | 407 --src-path-bare="$(SRC_PATH_BARE)" \ |
| 418 $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \ | 408 $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \ |
| 419 --out=$@ $(INTERNAL_CFLAGS) $(CFLAGS) \ | 409 --out=$@ $(INTERNAL_CFLAGS) $(CFLAGS) \ |
| 420 -I. -I"$(SRC_PATH_BARE)/third_party/googletest/src/include" \ | 410 -I. -I"$(SRC_PATH_BARE)/third_party/googletest/src/include" \ |
| 421 -L. -l$(CODEC_LIB) -l$(GTEST_LIB) $^ | 411 -L. -l$(CODEC_LIB) -l$(GTEST_LIB) $^ |
| 422 | 412 |
| 423 PROJECTS-$(CONFIG_MSVS) += test_libvpx.$(VCPROJ_SFX) | 413 PROJECTS-$(CONFIG_MSVS) += test_libvpx.$(VCPROJ_SFX) |
| 424 | 414 |
| 425 LIBVPX_TEST_BINS := $(addprefix $(TGT_OS:win64=x64)/Release/,$(notdir $(LIBVPX_T
EST_BINS))) | 415 LIBVPX_TEST_BIN := $(addprefix $(TGT_OS:win64=x64)/Release/,$(notdir $(LIBVPX_TE
ST_BIN))) |
| 416 |
| 417 ifneq ($(strip $(TEST_INTRA_PRED_SPEED_OBJS)),) |
| 418 PROJECTS-$(CONFIG_MSVS) += test_intra_pred_speed.$(VCPROJ_SFX) |
| 419 test_intra_pred_speed.$(VCPROJ_SFX): $(TEST_INTRA_PRED_SPEED_SRCS) vpx.$(VCPROJ_
SFX) gtest.$(VCPROJ_SFX) |
| 420 » @echo " [CREATE] $@" |
| 421 » $(qexec)$(GEN_VCPROJ) \ |
| 422 --exe \ |
| 423 --target=$(TOOLCHAIN) \ |
| 424 --name=test_intra_pred_speed \ |
| 425 -D_VARIADIC_MAX=10 \ |
| 426 --proj-guid=CD837F5F-52D8-4314-A370-895D614166A7 \ |
| 427 --ver=$(CONFIG_VS_VERSION) \ |
| 428 --src-path-bare="$(SRC_PATH_BARE)" \ |
| 429 $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \ |
| 430 --out=$@ $(INTERNAL_CFLAGS) $(CFLAGS) \ |
| 431 -I. -I"$(SRC_PATH_BARE)/third_party/googletest/src/include" \ |
| 432 -L. -l$(CODEC_LIB) -l$(GTEST_LIB) $^ |
| 433 endif # TEST_INTRA_PRED_SPEED |
| 426 endif | 434 endif |
| 427 else | 435 else |
| 428 | 436 |
| 429 include $(SRC_PATH_BARE)/third_party/googletest/gtest.mk | 437 include $(SRC_PATH_BARE)/third_party/googletest/gtest.mk |
| 430 GTEST_SRCS := $(addprefix third_party/googletest/src/,$(call enabled,GTEST_SRCS)
) | 438 GTEST_SRCS := $(addprefix third_party/googletest/src/,$(call enabled,GTEST_SRCS)
) |
| 431 GTEST_OBJS=$(call objs,$(GTEST_SRCS)) | 439 GTEST_OBJS=$(call objs,$(GTEST_SRCS)) |
| 432 ifeq ($(filter win%,$(TGT_OS)),$(TGT_OS)) | 440 ifeq ($(filter win%,$(TGT_OS)),$(TGT_OS)) |
| 433 # Disabling pthreads globally will cause issues on darwin and possibly elsewhere | 441 # Disabling pthreads globally will cause issues on darwin and possibly elsewhere |
| 434 $(GTEST_OBJS) $(GTEST_OBJS:.o=.d): CXXFLAGS += -DGTEST_HAS_PTHREAD=0 | 442 $(GTEST_OBJS) $(GTEST_OBJS:.o=.d): CXXFLAGS += -DGTEST_HAS_PTHREAD=0 |
| 435 endif | 443 endif |
| 436 $(GTEST_OBJS) $(GTEST_OBJS:.o=.d): CXXFLAGS += -I$(SRC_PATH_BARE)/third_party/go
ogletest/src | 444 GTEST_INCLUDES := -I$(SRC_PATH_BARE)/third_party/googletest/src |
| 437 $(GTEST_OBJS) $(GTEST_OBJS:.o=.d): CXXFLAGS += -I$(SRC_PATH_BARE)/third_party/go
ogletest/src/include | 445 GTEST_INCLUDES += -I$(SRC_PATH_BARE)/third_party/googletest/src/include |
| 438 OBJS-$(BUILD_LIBVPX) += $(GTEST_OBJS) | 446 $(GTEST_OBJS) $(GTEST_OBJS:.o=.d): CXXFLAGS += $(GTEST_INCLUDES) |
| 439 LIBS-$(BUILD_LIBVPX) += $(BUILD_PFX)libgtest.a $(BUILD_PFX)libgtest_g.a | 447 OBJS-yes += $(GTEST_OBJS) |
| 448 LIBS-yes += $(BUILD_PFX)libgtest.a $(BUILD_PFX)libgtest_g.a |
| 440 $(BUILD_PFX)libgtest_g.a: $(GTEST_OBJS) | 449 $(BUILD_PFX)libgtest_g.a: $(GTEST_OBJS) |
| 441 | 450 |
| 442 LIBVPX_TEST_OBJS=$(sort $(call objs,$(LIBVPX_TEST_SRCS))) | 451 LIBVPX_TEST_OBJS=$(sort $(call objs,$(LIBVPX_TEST_SRCS))) |
| 443 $(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS:.o=.d): CXXFLAGS += -I$(SRC_PATH_BARE)/th
ird_party/googletest/src | 452 $(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS:.o=.d): CXXFLAGS += $(GTEST_INCLUDES) |
| 444 $(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS:.o=.d): CXXFLAGS += -I$(SRC_PATH_BARE)/th
ird_party/googletest/src/include | 453 OBJS-yes += $(LIBVPX_TEST_OBJS) |
| 445 OBJS-$(BUILD_LIBVPX) += $(LIBVPX_TEST_OBJS) | 454 BINS-yes += $(LIBVPX_TEST_BIN) |
| 446 BINS-$(BUILD_LIBVPX) += $(LIBVPX_TEST_BINS) | |
| 447 | 455 |
| 448 CODEC_LIB=$(if $(CONFIG_DEBUG_LIBS),vpx_g,vpx) | 456 CODEC_LIB=$(if $(CONFIG_DEBUG_LIBS),vpx_g,vpx) |
| 449 CODEC_LIB_SUF=$(if $(CONFIG_SHARED),.so,.a) | 457 CODEC_LIB_SUF=$(if $(CONFIG_SHARED),.so,.a) |
| 450 $(foreach bin,$(LIBVPX_TEST_BINS),\ | 458 TEST_LIBS := lib$(CODEC_LIB)$(CODEC_LIB_SUF) libgtest.a |
| 451 $(if $(BUILD_LIBVPX),$(eval $(bin): \ | 459 $(LIBVPX_TEST_BIN): $(TEST_LIBS) |
| 452 lib$(CODEC_LIB)$(CODEC_LIB_SUF) libgtest.a ))\ | 460 $(eval $(call linkerxx_template,$(LIBVPX_TEST_BIN), \ |
| 453 $(if $(BUILD_LIBVPX),$(eval $(call linkerxx_template,$(bin),\ | 461 $(LIBVPX_TEST_OBJS) \ |
| 454 $(LIBVPX_TEST_OBJS) \ | 462 -L. -lvpx -lgtest $(extralibs) -lm)) |
| 455 -L. -lvpx -lgtest $(extralibs) -lm)\ | |
| 456 )))\ | |
| 457 $(if $(LIPO_LIBS),$(eval $(call lipo_bin_template,$(bin))))\ | |
| 458 | 463 |
| 459 endif | 464 TEST_INTRA_PRED_SPEED_OBJS := $(sort $(call objs,$(TEST_INTRA_PRED_SPEED_SRCS))) |
| 465 ifneq ($(strip $(TEST_INTRA_PRED_SPEED_OBJS)),) |
| 466 $(TEST_INTRA_PRED_SPEED_OBJS) $(TEST_INTRA_PRED_SPEED_OBJS:.o=.d): CXXFLAGS += $
(GTEST_INCLUDES) |
| 467 OBJS-yes += $(TEST_INTRA_PRED_SPEED_OBJS) |
| 468 BINS-yes += $(TEST_INTRA_PRED_SPEED_BIN) |
| 469 |
| 470 $(TEST_INTRA_PRED_SPEED_BIN): $(TEST_LIBS) |
| 471 $(eval $(call linkerxx_template,$(TEST_INTRA_PRED_SPEED_BIN), \ |
| 472 $(TEST_INTRA_PRED_SPEED_OBJS) \ |
| 473 -L. -lvpx -lgtest $(extralibs) -lm)) |
| 474 endif # TEST_INTRA_PRED_SPEED |
| 475 |
| 476 endif # CONFIG_UNIT_TESTS |
| 460 | 477 |
| 461 # Install test sources only if codec source is included | 478 # Install test sources only if codec source is included |
| 462 INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(patsubst $(SRC_PATH_BARE)/%,%,\ | 479 INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(patsubst $(SRC_PATH_BARE)/%,%,\ |
| 463 $(shell find $(SRC_PATH_BARE)/third_party/googletest -type f)) | 480 $(shell find $(SRC_PATH_BARE)/third_party/googletest -type f)) |
| 464 INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(LIBVPX_TEST_SRCS) | 481 INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(LIBVPX_TEST_SRCS) |
| 482 INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(TEST_INTRA_PRED_SPEED_SRCS) |
| 465 | 483 |
| 466 define test_shard_template | 484 define test_shard_template |
| 467 test:: test_shard.$(1) | 485 test:: test_shard.$(1) |
| 468 test_shard.$(1): $(LIBVPX_TEST_BINS) testdata | 486 test_shard.$(1): $(LIBVPX_TEST_BIN) testdata |
| 469 @set -e; \ | 487 @set -e; \ |
| 470 » for t in $(LIBVPX_TEST_BINS); do \ | 488 » export GTEST_SHARD_INDEX=$(1); \ |
| 471 » export GTEST_SHARD_INDEX=$(1); \ | 489 » export GTEST_TOTAL_SHARDS=$(2); \ |
| 472 » export GTEST_TOTAL_SHARDS=$(2); \ | 490 » $(LIBVPX_TEST_BIN) |
| 473 » $$$$t; \ | |
| 474 » done | |
| 475 .PHONY: test_shard.$(1) | 491 .PHONY: test_shard.$(1) |
| 476 endef | 492 endef |
| 477 | 493 |
| 478 NUM_SHARDS := 10 | 494 NUM_SHARDS := 10 |
| 479 SHARDS := 0 1 2 3 4 5 6 7 8 9 | 495 SHARDS := 0 1 2 3 4 5 6 7 8 9 |
| 480 $(foreach s,$(SHARDS),$(eval $(call test_shard_template,$(s),$(NUM_SHARDS)))) | 496 $(foreach s,$(SHARDS),$(eval $(call test_shard_template,$(s),$(NUM_SHARDS)))) |
| 481 | 497 |
| 482 endif | 498 endif |
| 483 | 499 |
| 484 ## | 500 ## |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 543 EXAMPLES_BIN_PATH := $(TGT_OS:win64=x64)/Release | 559 EXAMPLES_BIN_PATH := $(TGT_OS:win64=x64)/Release |
| 544 endif | 560 endif |
| 545 exampletest: examples testdata | 561 exampletest: examples testdata |
| 546 $(qexec)$(SRC_PATH_BARE)/test/examples.sh \ | 562 $(qexec)$(SRC_PATH_BARE)/test/examples.sh \ |
| 547 --test-data-path $(LIBVPX_TEST_DATA_PATH) \ | 563 --test-data-path $(LIBVPX_TEST_DATA_PATH) \ |
| 548 --bin-path $(EXAMPLES_BIN_PATH) | 564 --bin-path $(EXAMPLES_BIN_PATH) |
| 549 else | 565 else |
| 550 exampletest: | 566 exampletest: |
| 551 @echo Unit tests must be enabled to make the exampletest target. | 567 @echo Unit tests must be enabled to make the exampletest target. |
| 552 endif | 568 endif |
| OLD | NEW |