diff options
| author | Daniel Bovensiepen <[email protected]> | 2012-09-24 00:12:16 +0800 |
|---|---|---|
| committer | Daniel Bovensiepen <[email protected]> | 2012-09-24 00:12:16 +0800 |
| commit | 0832e26f20882ad6eb10a27ff32d48f1ed6cac04 (patch) | |
| tree | e28c004ea14a0e0cab28e44186c969a06a59e1be | |
| parent | cad954aa9f76342bbc700d8bacb1d039f2c13b5f (diff) | |
| download | mruby-0832e26f20882ad6eb10a27ff32d48f1ed6cac04.tar.gz mruby-0832e26f20882ad6eb10a27ff32d48f1ed6cac04.zip | |
Fix initializing of generator and beautify generator
| -rw-r--r-- | mrbgems/Makefile | 11 | ||||
| -rw-r--r-- | mrbgems/generator.c | 26 | ||||
| -rw-r--r-- | test/Makefile | 6 |
3 files changed, 16 insertions, 27 deletions
diff --git a/mrbgems/Makefile b/mrbgems/Makefile index 29d71d586..a30f804d7 100644 --- a/mrbgems/Makefile +++ b/mrbgems/Makefile @@ -25,13 +25,12 @@ GEMDLIB := g/mrbgemtest.ctmp .PHONY : all all : $(INIT).o all_gems -all_gems : $(GEM_MAKEFILE) +all_gems : $(GENERATOR_BIN) + @echo "Generate Gem Makefile" + $(GENERATOR_BIN) makefile > $(GEM_MAKEFILE) @echo "Build all gems" $(MAKE) -C g -$(GEM_MAKEFILE) : $(GENERATOR_BIN) - @echo "Generate Gem Makefile" - $(GENERATOR_BIN) makefile > $@ $(INIT).c : $(GENERATOR_BIN) @echo "Generate Gem driver" @@ -52,9 +51,7 @@ $(GENERATOR).o : $(GENERATOR).c $(CC) $(CC_FLAGS) -MMD -c $< -o $@ .PHONY : prepare-test -prepare-test : $(GEMDLIB) - -$(GEMDLIB) : +prepare-test : @$(MAKE) prepare-test -C g # clean driver and all gems diff --git a/mrbgems/generator.c b/mrbgems/generator.c index 430dcb354..bc1acdaef 100644 --- a/mrbgems/generator.c +++ b/mrbgems/generator.c @@ -53,14 +53,14 @@ for_each_gem (char before[1024], char after[1024], { struct dirent **eps; int n; - char gemname[1024] = ""; - char gemname_path[4096] = ""; - char src_path[4096] = ""; + char gemname[1024] = { 0 }; + char gemname_path[4096] = { 0 }; + char src_path[4096] = { 0 }; struct stat attribut; // return value char* complete_line = malloc(4096 + sizeof(char)); - + strcpy(complete_line, ""); strcat(complete_line, start); n = scandir("./g", &eps, one, alphasort); @@ -114,7 +114,7 @@ for_each_gem (char before[1024], char after[1024], void make_gem_makefile() { - char *gem_check = ""; + char *gem_check = { 0 }; int gem_empty; int gem_c_empty; int gem_ruby_empty; @@ -190,25 +190,19 @@ make_gem_makefile() } printf("\n.PHONY : prepare-test\n" - "prepare-test : mrbgemtest.ctmp\n\n" - - "mrbgemtest.ctmp : mrbgemtest.rbtmp\n" - "\t../../bin/mrbc -Bmrbgemtest_irep -omrbgemtest.ctmp mrbgemtest.rbtmp\n\n" - - "mrbgemtest.rbtmp :\n" + "prepare-test :\n" ); - if (!gem_empty) printf("%s", for_each_gem(" ", "/test/*.rb ", "\tcat", " > mrbgemtest.rbtmp", "") ); else - printf("\t../generator rbtmp > mrbgemtest.rbtmp\n"); + printf("\t../generator rbtmp > mrbgemtest.rbtmp"); + printf("\n\t../../bin/mrbc -Bmrbgemtest_irep -omrbgemtest.ctmp mrbgemtest.rbtmp\n\n"); - printf("\n\n.PHONY : clean\n" + printf(".PHONY : clean\n" "clean :\n" "\t$(RM) *.c *.d *.rbtmp *.ctmp *.o mrbtest\n"); - if (!gem_empty) printf("%s", for_each_gem("\t@$(MAKE) clean -C ", " $(MAKE_FLAGS)\n", "", "", "") @@ -222,7 +216,7 @@ make_gem_makefile() void make_init_gems() { - char *gem_check = ""; + char *gem_check = { 0 }; int gem_empty; int gem_c_empty; int gem_ruby_empty; diff --git a/test/Makefile b/test/Makefile index 04722e2d1..183e03438 100644 --- a/test/Makefile +++ b/test/Makefile @@ -69,7 +69,8 @@ $(OBJS) : %.o : %.c $(CC) $(ALL_CFLAGS) -MMD $(INCLUDES) -c $< -o $@ # Compile C source from merged mruby source -$(CLIB) : $(DLIB) $(GEMDLIB) $(INIT) +$(CLIB) : $(DLIB) $(INIT) + @$(MAKE) prepare-test -C $(GEMDIR) $(CAT) $(INIT) $(DLIB) $(GEMDLIB) > $@ $(DLIB) : $(RLIB) $(MRBC) @@ -79,9 +80,6 @@ $(DLIB) : $(RLIB) $(MRBC) $(RLIB) : $(ASSLIB) $(MRBS) $(CAT) $(ASSLIB) $(MRBS) > $@ -$(GEMDLIB) : - @$(MAKE) prepare-test -C $(GEMDIR) - # clean up .PHONY : clean clean : |
