jorton 2004/02/15 08:36:32
Modified: build gen-build.py
. .cvsignore
Log:
* build/gen-build.py: Fix VPATH build for fresh checkouts: ensure that
all the necessary directories exist in the build tree.
Revision Changes Path
1.5 +17 -1 apr/build/gen-build.py
Index: gen-build.py
===================================================================
RCS file: /home/cvs/apr/build/gen-build.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -d -u -r1.4 -r1.5
--- gen-build.py 7 Feb 2004 10:48:25 -0000 1.4
+++ gen-build.py 15 Feb 2004 16:36:32 -0000 1.5
@@ -50,12 +50,28 @@
for hdr in deps.keys():
deps.update(h_deps.get(hdr, {}))
- f.write('%s: %s include/%s\n' % (obj, file, string.join(deps.keys(), '
include/')))
+ f.write('%s: %s .make.dirs include/%s\n' % (obj, file,
string.join(deps.keys(), ' include/')))
f.write('\nOBJECTS = %s\n\n' % string.join(objects))
f.write('HEADERS = $(top_srcdir)/%s\n\n' % string.join(headers, '
$(top_srcdir)/'))
f.write('SOURCE_DIRS = %s $(EXTRA_SOURCE_DIRS)\n\n' %
string.join(dirs.keys()))
+ # Build a list of all necessary directories in build tree
+ alldirs = { }
+ for dir in dirs:
+ d = dir
+ while d:
+ alldirs[d] = None
+ d = os.path.dirname(d)
+
+ # Sort so 'foo' is before 'foo/bar'
+ keys = alldirs.keys()
+ keys.sort()
+ f.write('BUILD_DIRS = %s\n\n' % string.join(keys))
+
+ f.write('.make.dirs: $(top_srcdir)/build-outputs.mk\n' \
+ '[EMAIL PROTECTED] d in $(BUILD_DIRS); do test -d $$d || mkdir
$$d; done\n' \
+ '[EMAIL PROTECTED] timestamp > [EMAIL PROTECTED]')
def extract_deps(fname, legal_deps):
"Extract the headers this file includes."
1.19 +1 -0 apr/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/apr/.cvsignore,v
retrieving revision 1.18
retrieving revision 1.19
diff -b -d -u -r1.18 -r1.19
--- .cvsignore 5 Feb 2004 10:16:20 -0000 1.18
+++ .cvsignore 15 Feb 2004 16:36:32 -0000 1.19
@@ -33,3 +33,4 @@
autom4te.cache
ltcf-c.sh
build-outputs.mk
+.make.dirs