# Module specific stuff
MOD_VERSION = $(BASTARD_VERSION)

# Bastard stuff
ifndef CC
CC      = gcc
endif
ifndef AR
AR      = ar
endif
ifndef MAKE
MAKE    = make
endif
ifndef RM
RM      = rm -rf
endif
ifndef CP
CP      = cp -r
endif
ifndef LN
LN      = ln -sf
endif
ifndef MKDIR
MKDIR   = mkdir -p
endif
ifndef TERM
#TERM    = -lcurses
TERM    = -lncurses
endif
ifndef LIBDL
LIBDL   = -ldl
endif

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


# --------------------------------------
DEFINES  = -I$(TOP)/include -I. 
CFLAGS   = -ggdb -rdynamic $(DEFINES) -DMOD_VERSION=$(MOD_VERSION)
LIBS     = -lc $(LIBDL) -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
