%# -*- C -*- #include "ruby/ruby.h" #define init(func, name) { \ extern void func(void); \ ruby_init_ext(name, func); \ } void ruby_init_ext(const char *name, void (*init)(void)); void Init_ext(void) { % ARGV.each do |n| init(Init_<%=n.sub(/,(.*)/, ', "\1.so"')%>); % end }