Sha256: 32c749874719025bfb7eaca024386883a608f268bfd0257cac6f610ec8e1fbe3

Contents?: true

Size: 1.48 KB

Versions: 42

Compression:

Stored size: 1.48 KB

Contents

SWIG = swig
SWIGFLAGS = -c++ -ruby $(shell if [ -n "$$MSYSTEM" ]; then echo -D__MINGW__; fi)
INCLUDES = -I../
BUILD_DIR = build_SWIG

RUBY = ruby
RUBY_CONF = extconf.rb

SRCS = $(shell ls *.i)
	
PACKAGES = $(SRCS:.i=.so)

all : $(BUILD_DIR) depend $(PACKAGES)

depend : INCLUDES+=-I$(shell echo $${MSYSTEM_PREFIX:-/usr})/include/

# ヘッダーファイルの依存関係
depend : $(SRCS)
	if [ -f $(BUILD_DIR)/depend.inc ]; then rm -f $(BUILD_DIR)/depend.inc; fi
	for i in $^; do\
		$(SWIG) $(SWIGFLAGS) $(INCLUDES) -MM -MP $$i  | sed -e 's/[^\.]*\.cxx/$$\(BUILD_DIR\)\/&/g' >> $(BUILD_DIR)/depend.inc;\
	done

-include $(BUILD_DIR)/depend.inc

$(PACKAGES) : $(patsubst %,$(BUILD_DIR)/%,$(PACKAGES))

$(BUILD_DIR)/BoostDistributions_wrap.cxx : INCLUDES+=-I$(shell echo $${MSYSTEM_PREFIX:-/usr})/include/

$(BUILD_DIR)/%_wrap.cxx : %.i
	$(SWIG) $(SWIGFLAGS) $(INCLUDES) -o $@ $<

$(BUILD_DIR)/%.so : PACKAGE = $(shell echo $@ | sed -e 's/^$(BUILD_DIR)\/\([^\.]*\)\.so/\1/g')
$(BUILD_DIR)/%.so : $(BUILD_DIR)/%_wrap.cxx $(RUBY_CONF)
	echo "building $(PACKAGE) ..."
	if ! [ -d $(BUILD_DIR)/$(PACKAGE) ]; then mkdir $(BUILD_DIR)/$(PACKAGE); fi
	cp $(RUBY_CONF) $(BUILD_DIR)/$(PACKAGE)/
	cp $(BUILD_DIR)/$(PACKAGE)_wrap.cxx $(BUILD_DIR)/$(PACKAGE)/
	cd $(BUILD_DIR)/$(PACKAGE); \
	echo 'create_makefile("$(PACKAGE)")' >> $(RUBY_CONF); \
	$(RUBY) $(RUBY_CONF); \
	make; \
	cp *.so ../

$(BUILD_DIR) :
	mkdir $@

clean :
	rm -rf $(BUILD_DIR)/*

run : all

.PHONY : clean all depend

Version data entries

42 entries across 42 versions & 2 rubygems

Version Path
gps_pvt-0.10.4 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.10.3 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.10.2 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.10.1 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.10.0 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.9.4 ext/ninja-scan-light/tool/swig/makefile
boost_distributions-0.1.1 ext/ninja-scan-light/tool/swig/makefile
boost_distributions-0.1.0 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.9.3 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.9.2 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.9.1 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.9.0 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.8.5 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.8.4 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.8.3 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.8.2 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.8.1 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.8.0 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.7.2 ext/ninja-scan-light/tool/swig/makefile
gps_pvt-0.7.1 ext/ninja-scan-light/tool/swig/makefile