+ fclose(OUT);
+}
+
+
+static void generate_makefile(char *project, char *deployment)
+{
+ xbt_dict_cursor_t cursor=NULL;
+ char *key = NULL;
+ void *data = NULL;
+ char *filename = NULL;
+ FILE *OUT = NULL;
+
+ filename = xbt_new(char,strlen(project) + strlen(MAKEFILE_FILENAME_LOCAL));
+ sprintf(filename,MAKEFILE_FILENAME_LOCAL, project);
+
+ OUT=fopen(filename,"w");
+ xbt_assert1(OUT, "Unable to open %s for writing",filename);
+
+ fprintf(OUT, "PROJECT_NAME=%s\n",project);
+ fprintf(OUT,
+ "DISTDIR=gras-$(PROJECT_NAME)\n\n"
+ "SIMGRID_INSTALL_PATH?= $(shell echo \"\\\"<<<< SIMGRID_INSTALL_PATH undefined !!! >>>>\\\"\")\n"
+ "CFLAGS = -O3 -w\n"
+ "INCLUDES = -I$(SIMGRID_INSTALL_PATH)/include\n"
+ "LIBS = -lm -L$(SIMGRID_INSTALL_PATH)/lib/ -lsimgrid\n"
+ "\n"
+ "C_FILES = _chrono_multiplier.c _chrono_simulator.c chrono.c\n"
+ "BIN_FILES = chrono_multiplier chrono_simulator\n"
+ "\n"
+ "all: $(BIN_FILES)\n"
+ "\n");
+ fprintf(OUT, SIM_BINARYNAME ": " SIM_OBJNAME " %s.c\n",project, project, project);
+ xbt_dict_foreach(process_function_set,cursor,key,data) {
+ fprintf(OUT, RL_BINARYNAME " : " RL_OBJNAME " %s.c\n", project, key, project, key, project);
+ }
+ fprintf(OUT,
+ "\n"
+ "%%: %%.o\n"
+ "\t$(CC) $(INCLUDES) $(DEFS) $(CFLAGS) $^ $(LIBS) $(LDADD) -o $@ \n"
+ "\n"
+ "%%.o: %%.c\n"
+ "\t$(CC) $(INCLUDES) $(DEFS) $(CFLAGS) -c -o $@ $<\n"
+ "\n"
+ "distdir: $(C_FILES) $(PROJECT_NAME).Makefile\n"
+ "\trm -rf $(DISTDIR)\n"
+ "\tmkdir -p $(DISTDIR)\n"
+ "\tcp $^ $(DISTDIR)\n"
+ "\n"
+ "dist: clean distdir\n"
+ "\ttar c $(DISTDIR) | gzip -c > $(DISTDIR).tar.gz\n"
+ "\n"
+ "clean:\n"
+ "\trm -f $(BIN_FILES) *.o *~\n"
+ "\trm -rf $(DISTDIR)\n"
+ "\n"
+ ".SUFFIXES:\n"
+ ".PHONY : clean\n");
+ fclose(OUT);