diff options
| author | Daniel Bovensiepen <[email protected]> | 2012-11-21 15:56:30 +0800 |
|---|---|---|
| committer | Daniel Bovensiepen <[email protected]> | 2012-11-21 15:56:30 +0800 |
| commit | f30eedd7e80f39f0cf28a3c70bd00448e10a9ef8 (patch) | |
| tree | d9e138408dd0e579bdc070f0c4d87eff2015849c | |
| parent | f97e3facd2e64ecfdf75be5cb579c47ffade3562 (diff) | |
| download | mruby-f30eedd7e80f39f0cf28a3c70bd00448e10a9ef8.tar.gz mruby-f30eedd7e80f39f0cf28a3c70bd00448e10a9ef8.zip | |
Improve Including File to build single archive Files
| -rw-r--r-- | mrbgems/Makefile4gem | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/mrbgems/Makefile4gem b/mrbgems/Makefile4gem index a4fa3f3c9..1b6376f9a 100644 --- a/mrbgems/Makefile4gem +++ b/mrbgems/Makefile4gem @@ -11,6 +11,7 @@ RM := rm -f AR := ar SRC_DIR := src +MRB_DIR := mrblib INCLUDES := -I$(SRC_DIR) -I$(MRUBY_ROOT)include -I$(MRUBY_ROOT)src -I. CFLAGS := $(INCLUDES) -O3 -g -Wall -Werror-implicit-function-declaration @@ -27,11 +28,55 @@ endif .PHONY : all all : gem-info gem-all - @echo "Gem '$(GEM)' is done" gem-info: @echo "Building Gem '$(GEM)'" +# Building target for C and Ruby files +gem-c-and-rb-files : gem_mixlib.o + $(AR) rs gem.a $(GEM_OBJECTS) $^ + +gem_mixlib.c : gem_mrblib_header.ctmp gem_mrblib_irep.ctmp gem_mixlib_init.ctmp + cat $^ > $@ + +gem_mixlib_init.ctmp : + ../../generator gem_mixlib $(GEM) > $@ + +# Building target for C files +gem-c-files : gem_srclib.o + $(AR) rs gem.a $(GEM_OBJECTS) $< + +gem_srclib.c : + ../../generator gem_srclib $(GEM) > $@ + +# Building target for Ruby Files +gem-rb-files : gem_mrblib.o + $(AR) rs gem.a $< + +gem_mrblib.c : gem_mrblib_header.ctmp gem_mrblib_irep.ctmp gem_mrblib_init.ctmp + cat $^ > $@ + +gem_mrblib_header.ctmp : + ../../generator gem_mrblib > $@ + +gem_mrblib_init.ctmp : + ../../generator gem_mrblib $(GEM) > $@ + +gem_mrblib_irep.ctmp : gem_mrblib.rbtmp + ../../../bin/mrbc -Bgem_mrblib_irep_$(GEM) -o$@ $< + +gem_mrblib.rbtmp : + cat $(GEM_RB_FILES) > $@ + +gem-clean-c-and-rb-files : + -$(RM) gem.a gem_mixlib.o gem_mixlib.c gem_mrblib_header.ctmp gem_mrblib_irep.ctmp gem_mixlib_init.ctmp gem_mrblib.rbtmp + +gem-clean-c-files : + -$(RM) gem.a gem_srclib.c gem_srclib.o $(GEM_OBJECTS) + +gem-clean-rb-files : + -$(RM) gem.a gem_mrblib.o gem_mrblib.c gem_mrblib_header.ctmp gem_mrblib_init.ctmp gem_mrblib_irep.ctmp gem_mrblib.rbtmp + .PHONY : clean clean : gem-clean @echo "Gem '$(GEM)' is clean" |
