commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r6230 - gnuradio/trunk/dtools/bin


From: eb
Subject: [Commit-gnuradio] r6230 - gnuradio/trunk/dtools/bin
Date: Thu, 30 Aug 2007 13:26:39 -0600 (MDT)

Author: eb
Date: 2007-08-30 13:26:39 -0600 (Thu, 30 Aug 2007)
New Revision: 6230

Added:
   gnuradio/trunk/dtools/bin/extract_install_filenames
Log:
utility for extracting full paths of installed files

Added: gnuradio/trunk/dtools/bin/extract_install_filenames
===================================================================
--- gnuradio/trunk/dtools/bin/extract_install_filenames                         
(rev 0)
+++ gnuradio/trunk/dtools/bin/extract_install_filenames 2007-08-30 19:26:39 UTC 
(rev 6230)
@@ -0,0 +1,94 @@
+#!/usr/bin/env python
+
+"""
+Example usage:
+
+  $ extract_install_filenames gnuradio-core/src/lib/swig/Makefile 
grgrpython_PYTHON
+
+Produces:
+
+  usr/local/lib64/python2.4/site-packages/gnuradio/gr/gnuradio_swig_python.py
+  
usr/local/lib64/python2.4/site-packages/gnuradio/gr/gnuradio_swig_py_runtime.py
+  
usr/local/lib64/python2.4/site-packages/gnuradio/gr/gnuradio_swig_py_general.py
+  
usr/local/lib64/python2.4/site-packages/gnuradio/gr/gnuradio_swig_py_gengen.py
+  
usr/local/lib64/python2.4/site-packages/gnuradio/gr/gnuradio_swig_py_filter.py
+  usr/local/lib64/python2.4/site-packages/gnuradio/gr/gnuradio_swig_py_io.py
+
+"""
+
+from optparse import OptionParser
+import re
+import sys
+import tempfile
+import os
+
+def make_makefile_tail(dirname, full_var_name):
+    
+    s = '''
+extract_install_filenames:
+       @echo $(%s)
+       @echo $(%s)
+
+''' % (dirname, full_var_name)
+    return s
+
+
+def main():
+    parser = OptionParser(usage="usage: %prog [options] Makefile 
AM-variable-name")
+    (options, args) = parser.parse_args()
+    if len(args) != 2:
+        parser.print_help()
+        raise SystemExit
+
+    makefile_name = args[0]
+    makefile = open(makefile_name, 'r')
+    full_var_name = args[1]
+
+    L = re.split('_', full_var_name)
+    prefix = '_'.join(L[:-1])
+    suffix = L[-1]
+
+    #print "prefix= ", prefix
+    #print "suffix= ", suffix
+
+    if suffix.upper() != suffix:
+        raise SystemExit, "AM-variable-name is malformed.  Expected something 
like grgrpython_PYTHON"
+
+    dirname = prefix + "dir"
+
+    tail = make_makefile_tail(dirname, full_var_name)
+
+    tmp_makefile = tempfile.NamedTemporaryFile()
+    #print "tmp_makefile =", tmp_makefile
+    tmp_name = tmp_makefile.name
+    #print "tmp_name =", tmp_name
+    s = makefile.read()
+    tmp_makefile.write(s)
+    tmp_makefile.write(tail)
+    tmp_makefile.flush()
+
+    (head, tail) = os.path.split(makefile_name)
+    if head:
+        # cd to directory that contained the original Makefile
+        cmd = 'cd %s; make -f %s extract_install_filenames' % (head, tmp_name)
+    else:
+        cmd = 'make -f %s extract_install_filenames' % (tmp_name,)
+        
+    #print "cmd =", cmd
+    make = os.popen(cmd, 'r')
+    target_dirname = make.readline().rstrip()
+    target_files = make.readline().rstrip()
+    if target_dirname.startswith('/'):
+        target_dirname = target_dirname[1:]
+    
+    #print "target_dirname =", target_dirname
+    #print "target_files =", target_files
+
+    for f in target_files.split():
+        sys.stdout.write(os.path.join(target_dirname, f) + '\n')
+
+if __name__ == '__main__':
+  main()
+
+
+


Property changes on: gnuradio/trunk/dtools/bin/extract_install_filenames
___________________________________________________________________
Name: svn:executable
   + *





reply via email to

[Prev in Thread] Current Thread [Next in Thread]