diff options
Diffstat (limited to 'tools/mrbc/Makefile')
| -rw-r--r-- | tools/mrbc/Makefile | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/tools/mrbc/Makefile b/tools/mrbc/Makefile index 421ff7e0a..475f406cf 100644 --- a/tools/mrbc/Makefile +++ b/tools/mrbc/Makefile @@ -1,26 +1,24 @@ # makefile discription. -# basic build file for Rite-Compiler -# 11.Apr.2011 coded by Kenji Yoshimoto. -# 31.Aug.2011 coded by Hiroshi Mimaki. +# basic build file for mruby-compiler # project-specific macros # extension of the executable-file is modifiable(.exe .out ...) BASEDIR := ../../src TARGET := ../../bin/mrbc +LIB := ../../lib/ritevm ifeq ($(OS),Windows_NT) EXE := $(TARGET).exe +LIBR := $(LIB).lib else EXE := $(TARGET) +LIBR := $(LIB).a endif -YSRC := $(BASEDIR)/parse.y -YC := $(BASEDIR)/y.tab.c -EXCEPT1 := $(YC) $(BASEDIR)/minimain.c $(BASEDIR)/load.c $(BASEDIR)/init_ext.c -OBJY := $(patsubst %.c,%.o,$(YC)) +EXCEPT1 := OBJ0 := $(patsubst %.c,%.o,$(wildcard $(BASEDIR)/../tools/mrbc/*.c)) -OBJ1 := $(patsubst %.c,%.o,$(filter-out $(EXCEPT1),$(wildcard $(BASEDIR)/*.c))) +#OBJ1 := $(patsubst %.c,%.o,$(filter-out $(EXCEPT1),$(wildcard $(BASEDIR)/*.c))) #OBJ2 := $(patsubst %.c,%.o,$(wildcard $(BASEDIR)/ext/regex/*.c)) #OBJ3 := $(patsubst %.c,%.o,$(wildcard $(BASEDIR)/ext/enc/*.c)) -OBJS := $(OBJ0) $(OBJ1) $(OBJ2) $(OBJ3) +OBJS := $(OBJ0) # libraries, includes LIBS = -lm @@ -37,7 +35,11 @@ else CFLAGS = -O3 endif ALL_CFLAGS = -Wall -Werror-implicit-function-declaration $(CFLAGS) -MAKE_FLAGS = --no-print-directory CC=$(CC) LL=$(LL) +ifeq ($(OS),Windows_NT) + MAKE_FLAGS = CC=$(CC) LL=$(LL) ALL_CFLAGS="$(ALL_CFLAGS)" +else + MAKE_FLAGS = CC='$(CC)' LL='$(LL)' ALL_CFLAGS='$(ALL_CFLAGS)' +endif ############################## # generic build targets, rules @@ -47,28 +49,22 @@ all : $(EXE) @echo "make: built targets of `pwd`" # executable constructed using linker from object files -$(EXE) : $(OBJS) $(OBJY) - $(LL) -o $@ $(OBJS) $(OBJY) $(LIBS) +$(EXE) : $(OBJS) $(LIBR) + $(LL) -o $@ $(OBJS) $(LIBR) $(LIBS) --include $(OBJS:.o=.d) $(OBJY:.o=.d) +-include $(OBJS:.o=.d) # objects compiled from source $(OBJS) : %.o : %.c $(CC) $(ALL_CFLAGS) -MMD $(INCLUDES) -c $< -o $@ -# parser complie -$(OBJY) : $(YC) - $(CC) $(ALL_CFLAGS) -MMD $(INCLUDES) -c $(YC) -o $(OBJY) - -# yacc complie -$(YC) : $(YSRC) - $(YACC) -o $(YC) $(YSRC) +# C library compile +$(LIBR) : + @$(MAKE) -C $(BASEDIR) $(MAKE_FLAGS) # clean up .PHONY : clean clean : - -rm -f $(EXE) $(OBJS) $(OBJY) $(YC) - -rm -f $(OBJS:.o=.d) $(OBJY:.o=.d) - -rm -f $(patsubst %.c,%.o,$(EXCEPT1)) $(patsubst %.c,%.d,$(EXCEPT1)) @echo "make: removing targets, objects and depend files of `pwd`" - + -rm -f $(EXE) $(OBJS) + -rm -f $(OBJS:.o=.d) |
