summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDaniel Bovensiepen <[email protected]>2012-09-24 00:12:16 +0800
committerDaniel Bovensiepen <[email protected]>2012-09-24 00:12:16 +0800
commit0832e26f20882ad6eb10a27ff32d48f1ed6cac04 (patch)
treee28c004ea14a0e0cab28e44186c969a06a59e1be
parentcad954aa9f76342bbc700d8bacb1d039f2c13b5f (diff)
downloadmruby-0832e26f20882ad6eb10a27ff32d48f1ed6cac04.tar.gz
mruby-0832e26f20882ad6eb10a27ff32d48f1ed6cac04.zip
Fix initializing of generator and beautify generator
-rw-r--r--mrbgems/Makefile11
-rw-r--r--mrbgems/generator.c26
-rw-r--r--test/Makefile6
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 :