info("generating " + name + "MakeRules");
	protected void generate() {		String prefix = name + "API";    		info("generating " + name + "MakeRules");		Iterator types = adt.typeIterator();		int bucket = 0;		int i = 0;		while(types.hasNext()) {		  Type type = (Type) types.next();      		  if (i % 50 == 0) {			println(); println();			print(prefix + bucket++ + "=");		  }      		  print("\\\n" + getClassFileName(JavaGenerator.getClassName(type.getId())));		  print(getClassFileName(JavaGenerator.getClassImplName(type.getId())));		  i++;            		  Iterator alts = type.alternativeIterator();		  while(alts.hasNext()) {			Alternative alt = (Alternative) alts.next();			if (i % 50 == 0) {			  println(); println();			  print(prefix + bucket++ + "=");			}               			print("\\\n" + getClassFileName(AlternativeImplGenerator.getAltClassImplName(type.getId(),alt.getId())));			print(getClassFileName(AlternativeGenerator.getAltClassName(type.getId(),alt.getId()))); 			i++;		  }		}    		println();		println();    		print(prefix + "=\\\n" + 		getClassFileName(FactoryGenerator.getFactoryClassName(name)) + " " + 		getClassFileName(GenericConstructorGenerator.getConstructorClassName(name)) + "\\\n");				while(--bucket >= 0) {		  print("${" + prefix + bucket + "} ");		}	  }