Commit 0832e26f authored by Daniel Bovensiepen's avatar Daniel Bovensiepen

Fix initializing of generator and beautify generator

parent cad954aa
...@@ -25,13 +25,12 @@ GEMDLIB := g/mrbgemtest.ctmp ...@@ -25,13 +25,12 @@ GEMDLIB := g/mrbgemtest.ctmp
.PHONY : all .PHONY : all
all : $(INIT).o all_gems 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" @echo "Build all gems"
$(MAKE) -C g $(MAKE) -C g
$(GEM_MAKEFILE) : $(GENERATOR_BIN)
@echo "Generate Gem Makefile"
$(GENERATOR_BIN) makefile > $@
$(INIT).c : $(GENERATOR_BIN) $(INIT).c : $(GENERATOR_BIN)
@echo "Generate Gem driver" @echo "Generate Gem driver"
...@@ -52,9 +51,7 @@ $(GENERATOR).o : $(GENERATOR).c ...@@ -52,9 +51,7 @@ $(GENERATOR).o : $(GENERATOR).c
$(CC) $(CC_FLAGS) -MMD -c $< -o $@ $(CC) $(CC_FLAGS) -MMD -c $< -o $@
.PHONY : prepare-test .PHONY : prepare-test
prepare-test : $(GEMDLIB) prepare-test :
$(GEMDLIB) :
@$(MAKE) prepare-test -C g @$(MAKE) prepare-test -C g
# clean driver and all gems # clean driver and all gems
......
...@@ -53,14 +53,14 @@ for_each_gem (char before[1024], char after[1024], ...@@ -53,14 +53,14 @@ for_each_gem (char before[1024], char after[1024],
{ {
struct dirent **eps; struct dirent **eps;
int n; int n;
char gemname[1024] = ""; char gemname[1024] = { 0 };
char gemname_path[4096] = ""; char gemname_path[4096] = { 0 };
char src_path[4096] = ""; char src_path[4096] = { 0 };
struct stat attribut; struct stat attribut;
// return value // return value
char* complete_line = malloc(4096 + sizeof(char)); char* complete_line = malloc(4096 + sizeof(char));
strcpy(complete_line, "");
strcat(complete_line, start); strcat(complete_line, start);
n = scandir("./g", &eps, one, alphasort); n = scandir("./g", &eps, one, alphasort);
...@@ -114,7 +114,7 @@ for_each_gem (char before[1024], char after[1024], ...@@ -114,7 +114,7 @@ for_each_gem (char before[1024], char after[1024],
void void
make_gem_makefile() make_gem_makefile()
{ {
char *gem_check = ""; char *gem_check = { 0 };
int gem_empty; int gem_empty;
int gem_c_empty; int gem_c_empty;
int gem_ruby_empty; int gem_ruby_empty;
...@@ -190,25 +190,19 @@ make_gem_makefile() ...@@ -190,25 +190,19 @@ make_gem_makefile()
} }
printf("\n.PHONY : prepare-test\n" printf("\n.PHONY : prepare-test\n"
"prepare-test : mrbgemtest.ctmp\n\n" "prepare-test :\n"
"mrbgemtest.ctmp : mrbgemtest.rbtmp\n"
"\t../../bin/mrbc -Bmrbgemtest_irep -omrbgemtest.ctmp mrbgemtest.rbtmp\n\n"
"mrbgemtest.rbtmp :\n"
); );
if (!gem_empty) if (!gem_empty)
printf("%s", printf("%s",
for_each_gem(" ", "/test/*.rb ", "\tcat", " > mrbgemtest.rbtmp", "") for_each_gem(" ", "/test/*.rb ", "\tcat", " > mrbgemtest.rbtmp", "")
); );
else 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" "clean :\n"
"\t$(RM) *.c *.d *.rbtmp *.ctmp *.o mrbtest\n"); "\t$(RM) *.c *.d *.rbtmp *.ctmp *.o mrbtest\n");
if (!gem_empty) if (!gem_empty)
printf("%s", printf("%s",
for_each_gem("\t@$(MAKE) clean -C ", " $(MAKE_FLAGS)\n", "", "", "") for_each_gem("\t@$(MAKE) clean -C ", " $(MAKE_FLAGS)\n", "", "", "")
...@@ -222,7 +216,7 @@ make_gem_makefile() ...@@ -222,7 +216,7 @@ make_gem_makefile()
void void
make_init_gems() make_init_gems()
{ {
char *gem_check = ""; char *gem_check = { 0 };
int gem_empty; int gem_empty;
int gem_c_empty; int gem_c_empty;
int gem_ruby_empty; int gem_ruby_empty;
......
...@@ -69,7 +69,8 @@ $(OBJS) : %.o : %.c ...@@ -69,7 +69,8 @@ $(OBJS) : %.o : %.c
$(CC) $(ALL_CFLAGS) -MMD $(INCLUDES) -c $< -o $@ $(CC) $(ALL_CFLAGS) -MMD $(INCLUDES) -c $< -o $@
# Compile C source from merged mruby source # Compile C source from merged mruby source
$(CLIB) : $(DLIB) $(GEMDLIB) $(INIT) $(CLIB) : $(DLIB) $(INIT)
@$(MAKE) prepare-test -C $(GEMDIR)
$(CAT) $(INIT) $(DLIB) $(GEMDLIB) > $@ $(CAT) $(INIT) $(DLIB) $(GEMDLIB) > $@
$(DLIB) : $(RLIB) $(MRBC) $(DLIB) : $(RLIB) $(MRBC)
...@@ -79,9 +80,6 @@ $(DLIB) : $(RLIB) $(MRBC) ...@@ -79,9 +80,6 @@ $(DLIB) : $(RLIB) $(MRBC)
$(RLIB) : $(ASSLIB) $(MRBS) $(RLIB) : $(ASSLIB) $(MRBS)
$(CAT) $(ASSLIB) $(MRBS) > $@ $(CAT) $(ASSLIB) $(MRBS) > $@
$(GEMDLIB) :
@$(MAKE) prepare-test -C $(GEMDIR)
# clean up # clean up
.PHONY : clean .PHONY : clean
clean : clean :
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment