8 def CreateLibMakefile(lib_number
, classes
):
9 os
.chdir(cppcodebase
.lib_name(lib_number
))
10 handle
= file("Makefile.module", "w");
11 handle
.write('module := %s\n' % (cppcodebase
.lib_name(lib_number
),))
12 handle
.write ("lib := $(module)/lib_" + str(lib_number
) + ".a\n")
13 handle
.write ("src := \\\n")
14 for i
in xrange(classes
):
15 handle
.write(' $(module)/class_' + str(i
) + '.cpp \\\n')
21 obj := $(patsubst %.cpp,%.o,$(src))
22 dep := $(patsubst %.cpp,%.d,$(src))
35 $(obj): INC := -I. -I$(module)
36 $(dep): INC := -I. -I$(module)
42 def CreateFullMakefile(libs
):
43 handle
= file("Makefile", "w")
45 handle
.write('subdirs = \\\n')
46 for i
in xrange(libs
):
47 handle
.write(' lib_' + str(i
) + '\\\n')
51 CCFLAGS = -g -Wall $(INC)
62 include $(patsubst %,%/Makefile.module,$(subdirs))
68 $(COMPILER) -MM -MG -MT "$*.o $*.d" -MF $@ $(INC) $<
71 $(COMPILER) $(CCFLAGS) $(OUTPUT_OPTION) -c $<
75 def CreateCodebase(libs
, classes
, internal_includes
, external_includes
):
76 cppcodebase
.SetDir('make_nonrecursive')
77 cppcodebase
.CreateSetOfLibraries(libs
, classes
, internal_includes
, external_includes
, CreateLibMakefile
)
78 CreateFullMakefile(libs
)