| OLD | NEW |
| (Empty) |
| 1 ifndef BASE_NAME | |
| 2 BASE_NAME = x86disasm | |
| 3 endif | |
| 4 | |
| 5 ifndef SWIG | |
| 6 SWIG = swig # apt-get install swig ! | |
| 7 endif | |
| 8 | |
| 9 ifndef GCC | |
| 10 GCC = gcc | |
| 11 endif | |
| 12 | |
| 13 ifndef CC_FLAGS | |
| 14 CC_FLAGS = -c -fPIC | |
| 15 endif | |
| 16 | |
| 17 ifndef LD_FLAGS | |
| 18 LD_FLAGS = -shared -L.. -ldisasm | |
| 19 endif | |
| 20 | |
| 21 INTERFACE_FILE = libdisasm_oop.i | |
| 22 | |
| 23 SWIG_INTERFACE = ../$(INTERFACE_FILE) | |
| 24 | |
| 25 # PERL rules | |
| 26 PERL_MOD = blib/arch/auto/$(BASE_NAME)/$(BASE_NAME).so | |
| 27 PERL_SHADOW = $(BASE_NAME)_wrap.c | |
| 28 PERL_SWIG = $(BASE_NAME).pl | |
| 29 PERL_OBJ = $(BASE_NAME)_wrap.o | |
| 30 PERL_INC = `perl -e 'use Config; print $$Config{archlib};'`/CORE | |
| 31 PERL_CC_FLAGS = `perl -e 'use Config; print $$Config{ccflags};'` | |
| 32 | |
| 33 #==================================================== | |
| 34 # TARGETS | |
| 35 | |
| 36 all: swig-perl | |
| 37 | |
| 38 dummy: swig-perl install uninstall clean | |
| 39 | |
| 40 swig-perl: $(PERL_MOD) | |
| 41 | |
| 42 $(PERL_MOD): $(PERL_OBJ) | |
| 43 perl Makefile.PL | |
| 44 make | |
| 45 #$(GCC) $(LD_FLAGS) $(PERL_OBJ) -o $@ | |
| 46 | |
| 47 $(PERL_OBJ): $(PERL_SHADOW) | |
| 48 $(GCC) $(CC_FLAGS) $(PERL_CC_FLAGS) -I$(PERL_INC) -o $@ $< | |
| 49 | |
| 50 $(PERL_SHADOW): $(SWIG_INTERFACE) | |
| 51 swig -perl -shadow -o $(PERL_SHADOW) -outdir . $< | |
| 52 | |
| 53 # ================================================================== | |
| 54 install: $(PERL_MOD) | |
| 55 make install | |
| 56 | |
| 57 # ================================================================== | |
| 58 uninstall: | |
| 59 | |
| 60 # ================================================================== | |
| 61 clean: | |
| 62 rm $(PERL_MOD) $(PERL_OBJ) | |
| 63 rm $(PERL_SHADOW) | |
| 64 rm -rf Makefile blib pm_to_blib | |
| 65 | |
| OLD | NEW |