# Module specific stuff
MOD_VERSION = .01

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

# ------------------------------------ Initialization -----------------
ifndef TOP
TOP = ../../..
endif
MOD_INSTALL_DIR = $(TOP)/plugins


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



# ------------------------------------ Actual Makefile Rulesets ------
all: 	install

$(MOD_INSTALL_DIR):
	@$(MKDIR) $(MOD_INSTALL_DIR)

install:  $(MOD_INSTALL_DIR) modules
	@for i in `ls -1aA *.c` ; \
		do  \
		MOD_NAME=liboutput.$${i%.c}.so ; \
		cp $$MOD_NAME $(MOD_INSTALL_DIR) ; \
		done

uninstall:
	@for i in `ls -1aA *.c` ; \
		do  \
		MOD_NAME=liboutput.$${i%.c}.so ; \
		rm $(MOD_INSTALL_DIR)/$$MOD_NAME ; \
		done

# ================================ Extension =====================
modules: 
	@for i in `ls -1aA *.c` ; \
		do  \
		MOD_NAME=liboutput.$${i%.c}.so ; \
		$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname,$$MOD_NAME -o $$MOD_NAME $$i ;\
		done


# ----------------------------- Cleanup
clean: 
	@for i in `ls -1aA *.c` ; \
		do  \
		MOD_NAME=liboutput.$${i%.c}.so ; \
		rm $$MOD_NAME ; \
		done
	@$(RM) *.o
