## ## Makefile -- Build procedure for ngx_mruby for nginx module ## MATSUMOTO, Ryosuke ## MAKE=make -j $(NUM_THREADS) RAKE=rake -j $(NUM_THREADS) NGX_MRUBY_ROOT=$(shell pwd) NGX_SRC_ROOT=@NGX_SRC_ROOT@ NGX_CONFIG_OPT=@NGX_CONFIG_OPT@ ifeq ($(wildcard $(NGX_SRC_ROOT)/auto/configure),) NGX_CONFIGURE = ./configure else # development branch does not have configure script in top of directory. NGX_CONFIGURE = ./auto/configure endif MRUBY_ROOT=@MRUBY_ROOT@ NDK_ROOT=@NDK_ROOT@ # suport mrbgems MRUBY_MAK_FILE := $(MRUBY_ROOT)/build/host/lib/libmruby.flags.mak ifeq ($(wildcard $(MRUBY_MAK_FILE)),) MRUBY_CFLAGS = MRUBY_LDFLAGS = MRUBY_LIBS = MRUBY_LDFLAGS_BEFORE_LIBS = else include $(MRUBY_MAK_FILE) endif # flags CFLAGS = $(MRUBY_CFLAGS) -I/usr/local/include LDFLAGS = $(MRUBY_LDFLAGS) -L/usr/local/lib LIBS = $(MRUBY_LIBS) $(MRUBY_LDFLAGS_BEFORE_LIBS) $(MRUBY_ROOT)/build/host/lib/libmruby.a # the default target all: ngx_mruby # install install: cd $(NGX_SRC_ROOT) && $(MAKE) install # cleanup clean: -rm -rf mrbgems_config # clobber clobber: clean_mruby clean -rm -rf tmp autom4te.cache config.status config.log build # build mruby build_mruby: cp build_config.rb $(MRUBY_ROOT)/build_config.rb && cd $(MRUBY_ROOT) && $(RAKE) && cd $(MRUBY_ROOT) && git checkout build_config.rb # clean mruby clean_mruby: cd $(MRUBY_ROOT) && $(RAKE) deep_clean && rm -rf build # nginx make_ngx_mruby: cd $(NGX_SRC_ROOT) && $(MAKE) ngx_mruby: generate_gems_config cd $(NGX_SRC_ROOT) && $(NGX_CONFIGURE) --add-module=$(NGX_MRUBY_ROOT) --add-module=$(NDK_ROOT) $(NGX_CONFIG_OPT) && $(MAKE) # create mrbgems config generate_gems_config: @echo CORE_LIBS=\"\$$CORE_LIBS $(LDFLAGS) $(LIBS)\" > ./mrbgems_config @echo CORE_INCS=\"\$$CORE_INCS $(CFLAGS)\" >> ./mrbgems_config .PHONY: install