Commit 19fa4a09 authored by Daniel Bovensiepen's avatar Daniel Bovensiepen

Add default makefile for Gems

parent ab548b1c
# This is the default Makefile integrated
# by each Gem. It integrates important constants
# for usage inside of a Gem.
# mruby src root
MRUBY_ROOT := ../../../
# Tools
CC := gcc
RM := rm -f
AR := ar
SRC_DIR := src
INCLUDES := -I$(SRC_DIR) -I$(MRUBY_ROOT)include -I$(MRUBY_ROOT)src -I.
CFLAGS := $(INCLUDES) -O3 -g -Wall -Werror-implicit-function-declaration
# LIBR can be manipulated with command line arguments
ifeq ($(strip $(LIBR)),)
# default mruby library
LIBR := $(MRUBY_ROOT)lib/libmruby.a
endif
# Default rules which are calling the
# gem specific gem-all and gem-clean
# implementations of a gem
.PHONY : all
all : gem-info gem-all
@echo "Gem '$(GEM)' is done"
gem-info:
@echo "Building Gem '$(GEM)'"
.PHONY : clean
clean : gem-clean
@echo "Gem '$(GEM)' is clean"
GEMNAME := hello_world
MRUBY_ROOT = ../../../
include ../../Makefile4gem
INCLUDES = -I$(MRUBY_ROOT)include -I$(MRUBY_ROOT)src -I.
CFLAGS = $(INCLUDES) -O3 -g -Wall -Werror-implicit-function-declaration
RM_F := rm -f
AR := ar
GEM := hello_world
ifeq ($(strip $(LIBR)),)
# default mruby library
LIBR = $(MRUBY_ROOT)lib/libmruby.a
endif
GEM_C_FILES := $(wildcard $(SRC_DIR)/*.c)
GEM_OBJECTS := $(patsubst %.c, %.o, $(GEM_C_FILES))
.PHONY : all
all : src/hello_world.o
@$(AR) rs $(LIBR) src/hello_world.o
@echo "Gem '$(GEMNAME)' is done"
gem-all : $(GEM_OBJECTS)
$(AR) rs $(LIBR) $<
src/hello_world.o : src/hello_world.c
@gcc -c $(CFLAGS) src/hello_world.c -o src/hello_world.o
.PHONY : clean
clean :
-$(RM_F) src/*.o
@echo "Gem '$(GEMNAME)' is clean"
gem-clean :
-$(RM) $(GEM_OBJECTS)
mruby-md5
hello world
=========
MD5 digest function.
This library comes original from mattn (http://github.com/mattn/mruby-md5)
This is an example gem which implements just one method +HW.say+ in a C extension.
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