Guido van Rossum | 00ff433 | 1994-10-03 16:33:08 +0000 | [diff] [blame] | 1 | # Write the actual Makefile. |
| 2 | |
| 3 | import os |
| 4 | import string |
| 5 | |
| 6 | def makemakefile(outfp, makevars, files, target): |
Guido van Rossum | 541e783 | 1998-03-05 05:22:36 +0000 | [diff] [blame] | 7 | outfp.write("# Makefile generated by freeze.py script\n\n") |
Guido van Rossum | 00ff433 | 1994-10-03 16:33:08 +0000 | [diff] [blame] | 8 | |
Guido van Rossum | 541e783 | 1998-03-05 05:22:36 +0000 | [diff] [blame] | 9 | keys = makevars.keys() |
| 10 | keys.sort() |
| 11 | for key in keys: |
| 12 | outfp.write("%s=%s\n" % (key, makevars[key])) |
| 13 | outfp.write("\nall: %s\n\n" % target) |
Guido van Rossum | 00ff433 | 1994-10-03 16:33:08 +0000 | [diff] [blame] | 14 | |
Guido van Rossum | 541e783 | 1998-03-05 05:22:36 +0000 | [diff] [blame] | 15 | deps = [] |
| 16 | for i in range(len(files)): |
| 17 | file = files[i] |
| 18 | if file[-2:] == '.c': |
| 19 | base = os.path.basename(file) |
| 20 | dest = base[:-2] + '.o' |
| 21 | outfp.write("%s: %s\n" % (dest, file)) |
| 22 | outfp.write("\t$(CC) $(CFLAGS) -c %s\n" % file) |
| 23 | files[i] = dest |
| 24 | deps.append(dest) |
Guido van Rossum | 00ff433 | 1994-10-03 16:33:08 +0000 | [diff] [blame] | 25 | |
Guido van Rossum | 541e783 | 1998-03-05 05:22:36 +0000 | [diff] [blame] | 26 | outfp.write("\n%s: %s\n" % (target, string.join(deps))) |
Guido van Rossum | c8f859a | 1998-06-12 14:09:34 +0000 | [diff] [blame] | 27 | outfp.write("\t$(CC) %s -o %s $(LDLAST)\n" % |
| 28 | (string.join(files), target)) |
Guido van Rossum | 541e783 | 1998-03-05 05:22:36 +0000 | [diff] [blame] | 29 | |
| 30 | outfp.write("\nclean:\n\t-rm -f *.o %s\n" % target) |