# Module specific stuff
MOD_VERSION = .01
MODNAME = libi386.so

# Bastard stuff
CC      = gcc
RM      = rm -f
CP      = cp -f

ifndef TOP
TOP = ../../../
MOD_INSTALL_DIR = $(TOP)/arch
endif


# --------------------------------------
SRCS = 	libdisasm/i386.c 	\
		libdisasm/i386_invariant.c \
		i386_intcode.c	\
		i386_codepat.c	\
		i386_effect.c

OBJS = 	libdisasm/i386.o 	\
		i386_intcode.o	\
		i386_codepat.o	\
		i386_effect.o

DEFINES  = -I$(TOP)/include -I./libdisasm  -I.
CFLAGS   = -ggdb -rdynamic $(DEFINES) -DMOD_VERSION=$(MOD_VERSION)
LIBS     = -lc -ldl -lbastard
MOD_SOFLAGS =  -Wl,-soname,$(MODNAME)
LDFLAGS  = -L$(TOP)/lib -shared $(LIBS) $(MOD_SOFLAGS) 
#            -Wl,-rpath . -Wl,-rpath ./lib -Wl,-rpath $(INSTALL_LIB)


# --------------------------------------
all: 	$(MODNAME)

install:  $(MODNAME)
	@$(CP) $(MODNAME) $(MOD_INSTALL_DIR)/$(MODNAME)

uninstall: 
	@$(RM) $(MOD_INSTALL_DIR)/$(MODNAME)

clean: 
	@$(RM) $(OBJS) $(MODNAME)

# --------------------------------------
$(MODNAME): $(OBJS) 
	$(CC) $(LDFLAGS) -o $@ $^

test:
	$(CC) -ggdb $(DEFINES) -L$(TOP)/lib $(LIBS) intcode_test.c -o test


# NOTE: this is a special case to use the libdisasm source files
#i386.o: $(SRCS)
#	$(CC) $(CFLAGS) -o $@ -c $<
.c.o: $(SRCS)
	$(CC) $(CFLAGS) -o $@ -c $<

