Commit 17c87701 authored by Daniel Bovensiepen's avatar Daniel Bovensiepen

Some additional changes to compile properly

parent ea68cb1b
# makefile description. # makefile description.
# add gems to the ruby library # add gems to the ruby library
LIBRGEMS := ../lib/libmruby_gems.a LIBR := ../lib/libmruby.a
INIT := init_gems INIT := init_gems
RM_F := rm -f RM_F := rm -f
CC_FLAGS := -Wall -Werror-implicit-function-declaration -g -O3 -MMD -I. -I./../include CC_FLAGS := -Wall -Werror-implicit-function-declaration -g -O3 -MMD -I. -I./../include
...@@ -9,6 +9,7 @@ MMAKER := ./gem_helper ...@@ -9,6 +9,7 @@ MMAKER := ./gem_helper
MMAKER_BIN := $(MMAKER) MMAKER_BIN := $(MMAKER)
export CC = gcc export CC = gcc
export LL = gcc export LL = gcc
export AR = ar
############################## ##############################
# generic build targets, rules # generic build targets, rules
...@@ -16,17 +17,10 @@ export LL = gcc ...@@ -16,17 +17,10 @@ export LL = gcc
.PHONY : all .PHONY : all
all : $(INIT).o all_gems all : $(INIT).o all_gems
$(INIT).o : $(INIT).c
@echo "Build the driver which initiailizes all gems"
gcc $(CC_FLAGS) -c $< -o $@
all_gems : $(MMAKER_BIN) g/Makefile
@echo "Build all gems"
$(MAKE) -C g
$(MMAKER_BIN) : $(MMAKER).o $(MMAKER_BIN) : $(MMAKER).o
@echo "Build the generator which creates the driver and Gem Makefile" @echo "Build the generator which creates the driver and Gem Makefile"
$(LL) -o $@ $(CC_FLAGS) $< $(LL) -o $@ $(CC_FLAGS) $<
$(MMAKER).o : $(MMAKER).c $(MMAKER).o : $(MMAKER).c
$(CC) $(CC_FLAGS) -MMD -c $< -o $@ $(CC) $(CC_FLAGS) -MMD -c $< -o $@
...@@ -34,10 +28,19 @@ $(INIT).c : $(MMAKER_BIN) ...@@ -34,10 +28,19 @@ $(INIT).c : $(MMAKER_BIN)
@echo "Generate Gem driver" @echo "Generate Gem driver"
$(MMAKER_BIN) $(INIT) > $@ $(MMAKER_BIN) $(INIT) > $@
$(INIT).o : $(INIT).c
@echo "Build the driver which initiailizes all gems"
gcc $(CC_FLAGS) -c $< -o $@
$(AR) rs $(LIBR) $@
g/Makefile : g/Makefile :
@echo "Generate Gem Makefile" @echo "Generate Gem Makefile"
$(MMAKER_BIN) makefile > $@ $(MMAKER_BIN) makefile > $@
all_gems : $(MMAKER_BIN) g/Makefile
@echo "Build all gems"
$(MAKE) -C g
# clean driver and all gems # clean driver and all gems
.PHONY : clean .PHONY : clean
clean : $(MMAKER_BIN) clean : $(MMAKER_BIN)
......
...@@ -7,13 +7,14 @@ RM_F := rm -f ...@@ -7,13 +7,14 @@ RM_F := rm -f
AR := ar AR := ar
ifeq ($(strip $(LIBR)),) ifeq ($(strip $(LIBR)),)
# default compile option # default mruby library
LIBR = $(MRUBY_ROOT)lib/libmruby.a LIBR = $(MRUBY_ROOT)lib/libmruby.a
endif endif
.PHONY : all
all : src/md5.o src/mrb_md5.o all : src/md5.o src/mrb_md5.o
@echo "Gem '$(GEMNAME)' is done"
@$(AR) rs $(LIBR) src/md5.o src/mrb_md5.o @$(AR) rs $(LIBR) src/md5.o src/mrb_md5.o
@echo "Gem '$(GEMNAME)' is done"
md5.o : src/md5.c md5.o : src/md5.c
@gcc -c -I. src/md5.c @gcc -c -I. src/md5.c
...@@ -21,5 +22,7 @@ md5.o : src/md5.c ...@@ -21,5 +22,7 @@ md5.o : src/md5.c
mrb_md5.o : src/mrb_md5.c mrb_md5.o : src/mrb_md5.c
@gcc -c $(CFLAGS) src/mrb_md5.c @gcc -c $(CFLAGS) src/mrb_md5.c
.PHONY : clean
clean : clean :
-$(RM_F) src/*.o -$(RM_F) src/*.o
@echo "Gem '$(GEMNAME)' is 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