Create only the directory the current target should be created into.
authorDiego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
Mon, 19 Jan 2009 16:20:18 +0000 (17:20 +0100)
committerDiego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
Mon, 19 Jan 2009 16:20:18 +0000 (17:20 +0100)
With this change, instead of running multiple `mkdir -p` commands in all
the rules for all the generated definition files, only the call for the
current generated file is executed.

Not only it should shorten build time (especially for parallel make) but it
also fixes out-of-tree builds when new directories are added.

The $(dir $@) construct is GNU make-specific, but the rest of the
buildsystem is already GNU make-dependent so there should be no problem.

src/Makefile.am

index 99ed7b2..e6feddd 100644 (file)
@@ -1068,10 +1068,7 @@ EXTRA_DIST += $(SYMDEF_FILES)
 BUILT_SOURCES += $(SYMDEF_FILES)
 
 $(SYMDEF_FILES): modules/module-defs.h.m4
-       $(MKDIR_P) modules
-       $(MKDIR_P) modules/gconf
-       $(MKDIR_P) modules/rtp
-       $(MKDIR_P) modules/bluetooth
+       $(MKDIR_P) $(dir $@)
        $(M4) -Dfname="$@" $< > $@
 
 # Flat volume