Now the make freeze is done when any of the *.py files in intern/python
authorMichel Selten <michel@mselten.demon.nl>
Fri, 31 Jan 2003 20:24:18 +0000 (20:24 +0000)
committerMichel Selten <michel@mselten.demon.nl>
Fri, 31 Jan 2003 20:24:18 +0000 (20:24 +0000)
is updated.
* modulefinder creates a file src.list which contains all the *.py files
  needed for the python suport in Blender.
* Makefile.am is able to depend on the files listed in src.list.
* makemakefile_ac.py is reverted to the previous version. The old version
  contained my first attempt to get the make freeze trick working. It was
  wrong.

Michel

intern/python/freeze/makemakefile_ac.py
intern/python/freeze/modulefinder.py

index 31f4ca1eccc68f903bb767c84c5ff47430a78c86..13859aaf86d0dd0e7e3d800a58a5e9f6ba5914fb 100644 (file)
@@ -23,20 +23,17 @@ def makemakefile(outfp, makevars, files, target):
 #        outfp.write("\n\ninclude nan_definitions.mk\n")
        outfp.write("\nall: %s\n\n" % libtarget)
 
-       src_list = open ('../frozen/src.list', 'w')
        deps = []
        for i in range(len(files)):
                file = files[i]
                if file[-2:] == '.c':
                        base = os.path.basename(file)
                        dest = base[:-2] + '.o'
-                       src_list.write("%s " % file)
                #       outfp.write("%s: %s\n" % (dest, file))
                #       outfp.write("\t$(CC) $(CFLAGS) -c %s\n" % file)
                        files[i] = dest
                        deps.append(dest)
 
-       src_list.close()
        mainfile = 'M___main__.o'
        
        try:
index c80962fd815e3a4f38f008f4fc89d26e0dc9729a..541fc45575f8b914c4306cbbdd5cc2dde813de78 100644 (file)
@@ -354,6 +354,7 @@ class ModuleFinder:
         return imp.find_module(name, path)
 
     def report(self):
+        src_list = open ('../frozen/src.list', 'w')
         print
         print "  %-25s %s" % ("Name", "File")
         print "  %-25s %s" % ("----", "----")
@@ -367,6 +368,13 @@ class ModuleFinder:
             else:
                 print "m",
             print "%-25s" % key, m.__file__ or ""
+            # Write the Python filename to the src.list file
+            # This is probably not the best way to do it, but it works :)
+            if m.__file__:
+                if m.__file__[-3:] == '.py':
+                    src_list.write("%s " % m.__file__)
+        src_list.close()
+
 
         # Print missing modules
         keys = self.badmodules.keys()