| ifndef BASE_NAME |
| BASE_NAME = x86disasm |
| endif |
| |
| ifndef SWIG |
| SWIG = swig # apt-get install swig ! |
| endif |
| |
| ifndef GCC |
| GCC = gcc |
| endif |
| |
| ifndef CC_FLAGS |
| CC_FLAGS = -c -fPIC |
| endif |
| |
| ifndef LD_FLAGS |
| LD_FLAGS = -shared -L../.. -ldisasm |
| endif |
| |
| LIBDISASM_DIR = ../.. |
| |
| INTERFACE_FILE = libdisasm_oop.i |
| |
| SWIG_INTERFACE = ../$(INTERFACE_FILE) |
| |
| # RUBY rules |
| RUBY_MAKEFILE = Makefile |
| RUBY_MOD = $(BASE_NAME).so |
| RUBY_SHADOW = $(BASE_NAME)_wrap.c |
| #RUBY_SWIG = $(BASE_NAME).rb |
| RUBY_OBJ = $(BASE_NAME)_wrap.o |
| RUBY_INC = `ruby -e 'puts $$:.join("\n")' | tail -2 | head -1` |
| #RUBY_LIB = |
| #RUBY_DEST = |
| |
| #==================================================== |
| # TARGETS |
| |
| all: swig-ruby |
| |
| dummy: swig-ruby install uninstall clean |
| |
| swig-ruby: $(RUBY_MOD) |
| |
| $(RUBY_MOD): $(RUBY_MAKEFILE) |
| make |
| |
| $(RUBY_MAKEFILE): $(RUBY_OBJ) |
| ruby extconf.rb |
| |
| $(RUBY_OBJ):$(RUBY_SHADOW) |
| $(GCC) $(CC_FLAGS) -I$(RUBY_INC) -I.. -o $@ $< |
| |
| $(RUBY_SHADOW): $(SWIG_INTERFACE) |
| swig -ruby -o $(RUBY_SHADOW) -outdir . $< |
| |
| # ================================================================== |
| install: $(RUBY_MOD) |
| make install |
| |
| # ================================================================== |
| uninstall: |
| |
| # ================================================================== |
| clean: |
| make clean || true |
| rm $(RUBY_SHADOW) $(RUBY_MAKEFILE) $(RUBY_MOD) $(RUBY_OBJ) |