summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2015-02-05 19:31:38 -0800
committerJames Zern <jzern@google.com>2015-02-09 16:38:49 -0800
commitaaccf6566de2d5c0401684a9369fea8cc07b2d17 (patch)
tree15bae9ca44ee637de5d1e06b9160cefe553797f1
parenta5a5b115b104db4c950780f502f2e1cfd0d4e390 (diff)
downloadlibvpx-aaccf6566de2d5c0401684a9369fea8cc07b2d17.tar
libvpx-aaccf6566de2d5c0401684a9369fea8cc07b2d17.tar.gz
libvpx-aaccf6566de2d5c0401684a9369fea8cc07b2d17.tar.bz2
libvpx-aaccf6566de2d5c0401684a9369fea8cc07b2d17.zip
configure: add --(disable|enable)-dependency-tracking
defaults to enabled. when disabled skips dependency file (.d) generation allowing for faster one-time builds. Change-Id: I2d7d7f905f1663315b8eb2b2e81fffb6fcb15829
-rw-r--r--build/make/Makefile14
-rw-r--r--build/make/configure.sh2
-rwxr-xr-xconfigure3
-rw-r--r--examples.mk1
-rw-r--r--libs.mk4
5 files changed, 21 insertions, 3 deletions
diff --git a/build/make/Makefile b/build/make/Makefile
index da5721adb..e048e9cc8 100644
--- a/build/make/Makefile
+++ b/build/make/Makefile
@@ -146,6 +146,7 @@ $(BUILD_PFX)%.c.d: %.c
$(BUILD_PFX)%.c.o: %.c
$(if $(quiet),@echo " [CC] $@")
+ $(qexec)$(if $(CONFIG_DEPENDENCY_TRACKING),,mkdir -p $(dir $@))
$(qexec)$(CC) $(INTERNAL_CFLAGS) $(CFLAGS) -c -o $@ $<
$(BUILD_PFX)%.cc.d: %.cc
@@ -155,6 +156,7 @@ $(BUILD_PFX)%.cc.d: %.cc
$(BUILD_PFX)%.cc.o: %.cc
$(if $(quiet),@echo " [CXX] $@")
+ $(qexec)$(if $(CONFIG_DEPENDENCY_TRACKING),,mkdir -p $(dir $@))
$(qexec)$(CXX) $(INTERNAL_CFLAGS) $(CXXFLAGS) -c -o $@ $<
$(BUILD_PFX)%.cpp.d: %.cpp
@@ -164,6 +166,7 @@ $(BUILD_PFX)%.cpp.d: %.cpp
$(BUILD_PFX)%.cpp.o: %.cpp
$(if $(quiet),@echo " [CXX] $@")
+ $(qexec)$(if $(CONFIG_DEPENDENCY_TRACKING),,mkdir -p $(dir $@))
$(qexec)$(CXX) $(INTERNAL_CFLAGS) $(CXXFLAGS) -c -o $@ $<
$(BUILD_PFX)%.asm.d: %.asm
@@ -174,6 +177,7 @@ $(BUILD_PFX)%.asm.d: %.asm
$(BUILD_PFX)%.asm.o: %.asm
$(if $(quiet),@echo " [AS] $@")
+ $(qexec)$(if $(CONFIG_DEPENDENCY_TRACKING),,mkdir -p $(dir $@))
$(qexec)$(AS) $(ASFLAGS) -o $@ $<
$(BUILD_PFX)%.s.d: %.s
@@ -184,12 +188,14 @@ $(BUILD_PFX)%.s.d: %.s
$(BUILD_PFX)%.s.o: %.s
$(if $(quiet),@echo " [AS] $@")
+ $(qexec)$(if $(CONFIG_DEPENDENCY_TRACKING),,mkdir -p $(dir $@))
$(qexec)$(AS) $(ASFLAGS) -o $@ $<
.PRECIOUS: %.c.S
%.c.S: CFLAGS += -DINLINE_ASM
$(BUILD_PFX)%.c.S: %.c
$(if $(quiet),@echo " [GEN] $@")
+ $(qexec)$(if $(CONFIG_DEPENDENCY_TRACKING),,mkdir -p $(dir $@))
$(qexec)$(CC) -S $(CFLAGS) -o $@ $<
.PRECIOUS: %.asm.s
@@ -332,9 +338,11 @@ endif
skip_deps := $(filter %clean,$(MAKECMDGOALS))
skip_deps += $(findstring testdata,$(MAKECMDGOALS))
ifeq ($(strip $(skip_deps)),)
- # Older versions of make don't like -include directives with no arguments
- ifneq ($(filter %.d,$(OBJS-yes:.o=.d)),)
- -include $(filter %.d,$(OBJS-yes:.o=.d))
+ ifeq ($(CONFIG_DEPENDENCY_TRACKING),yes)
+ # Older versions of make don't like -include directives with no arguments
+ ifneq ($(filter %.d,$(OBJS-yes:.o=.d)),)
+ -include $(filter %.d,$(OBJS-yes:.o=.d))
+ endif
endif
endif
diff --git a/build/make/configure.sh b/build/make/configure.sh
index 723509103..25c9f8014 100644
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -83,6 +83,8 @@ Build options:
${toggle_gprof} enable/disable gprof profiling instrumentation
${toggle_gcov} enable/disable gcov coverage instrumentation
${toggle_thumb} enable/disable building arm assembly in thumb mode
+ ${toggle_dependency_tracking}
+ disable to speed up one-time build
Install options:
${toggle_install_docs} control whether docs are installed
diff --git a/configure b/configure
index 88df374b8..f3708f9d0 100755
--- a/configure
+++ b/configure
@@ -209,6 +209,7 @@ enable_feature install_libs
enable_feature static
enable_feature optimizations
+enable_feature dependency_tracking
enable_feature fast_unaligned #allow unaligned accesses, if supported by hw
enable_feature spatial_resampling
enable_feature multithread
@@ -286,6 +287,7 @@ EXPERIMENT_LIST="
emulate_hardware
"
CONFIG_LIST="
+ dependency_tracking
external_build
install_docs
install_bins
@@ -344,6 +346,7 @@ CONFIG_LIST="
${EXPERIMENT_LIST}
"
CMDLINE_SELECT="
+ dependency_tracking
external_build
extra_warnings
werror
diff --git a/examples.mk b/examples.mk
index fd67a44df..4ff1de4ee 100644
--- a/examples.mk
+++ b/examples.mk
@@ -338,6 +338,7 @@ $(foreach proj,$(call enabled,PROJECTS),\
#
%.dox: %.c
@echo " [DOXY] $@"
+ @mkdir -p $(dir $@)
@echo "/*!\page example_$(@F:.dox=) $(@F:.dox=)" > $@
@echo " \includelineno $(<F)" >> $@
@echo "*/" >> $@
diff --git a/libs.mk b/libs.mk
index 38b4b1112..4aee94e53 100644
--- a/libs.mk
+++ b/libs.mk
@@ -489,7 +489,11 @@ libs.doxy: $(CODEC_DOC_SRCS)
@echo "ENABLED_SECTIONS += $(sort $(CODEC_DOC_SECTIONS))" >> $@
## Generate rtcd.h for all objects
+ifeq ($(CONFIG_DEPENDENCY_TRACKING),yes)
$(OBJS-yes:.o=.d): $(RTCD)
+else
+$(OBJS-yes): $(RTCD)
+endif
## Update the global src list
SRCS += $(CODEC_SRCS) $(LIBVPX_TEST_SRCS) $(GTEST_SRCS)