include env
# Change the following lines to match the values on your system

DAEMONNAME=ela_daemon
DAEMONDIR=/usr/sbin
DAEMONSCRIPT=elad
DAEMONSCRIPTDIR=/etc/init.d
SIGDAEMONSCRIPT=sig_daemon.sh
SIGDAEMONSCRIPT_INSTALLED=sig_ela_daemon.sh
SIGDAEMONSCRIPTDIR=/usr/bin

ifdef SNIA
CFLAGS=-Wall -D_COMPILE_UNIX -g -I. -I./parser -I$(CIMOMINC)
LDFLAGS= -shared -ldl -lpthread -L ./parser -L$(CIMOMLIB) -lCMPIOpenCimom 
endif

ifdef PEGASUS
CFLAGS=-Wall -D_COMPILE_UNIX -g -I. -I./parser -I$(CIMOMINC)
LDFLAGS= -shared -ldl -lpthread -L ./parser -L$(CIMOMLIB)
endif

ifdef STANDALONE
CFLAGS=-Wall -fPIC -D_COMPILE_UNIX -g -I. -I./parser -I$(CIMOMINC)
LDFLAGS= -shared -ldl -fPIC -lpthread -L ./parser -L$(CIMOMLIB)
endif

DAEMONFLAGS=-lpthread

LOADLIBES=-lparseelareport

#Targets
ifdef SNIA

ifdef LOCAL
SUBDIRS=mof parser evsub
endif

ifdef REMOTE
SUBDIRS=mof parser
endif
endif 

ifdef PEGASUS
SUBDIRS=mof parser
endif

ifdef STANDALONE
SUBDIRS=mof parser
endif

SOURCES=ela_daemon.c
OBJECTS=$(SOURCES:.c=.o)
LIBSOURCES=elaindicationprovider.c
LIBTARGETS=libelaindicationprovider.so


.PHONY: all clean install uninstall $(SUBDIRS)

all:  $(SUBDIRS) $(LIBTARGETS) daemon

daemon: 
	$(CC) -o $(DAEMONNAME) $(SOURCES) $(DAEMONFLAGS)

lib%.so: %.o
	$(LINK.c) $^ $(LOADLIBES) $(LDLIBS) -o $@

clean: $(SUBDIRS)
	$(RM) $(LIBTARGETS) $(OBJECTS) $(DAEMONNAME)

install: $(SUBDIRS) $(LIBTARGETS)
	 install -m 755 $(LIBTARGETS) $(CIMOMLIB)
	 install -m 755 $(DAEMONNAME) $(INSTALL_ROOT)$(DAEMONDIR)
	 install -m 755 $(DAEMONSCRIPT) $(INSTALL_ROOT)$(DAEMONSCRIPTDIR)
	 install -m 755 $(SIGDAEMONSCRIPT) $(INSTALL_ROOT)$(SIGDAEMONSCRIPTDIR)/$(SIGDAEMONSCRIPT_INSTALLED)

uninstall: $(SUBDIRS) 
	   cd $(CIMOMLIB) && $(RM) $(LIBTARGETS)
	   cd $(DAEMONDIR) && $(RM) $(DAEMONNAME)
	   cd $(DAEMONSCRIPTDIR) && $(RM) $(DAEMONSCRIPT)
	   cd $(SIGDAEMONSCRIPTDIR) && $(RM) $(SIGDAEMONSCRIPT)

$(SUBDIRS):
	$(MAKE) -C $@ $(MAKECMDGOALS)

ifeq ($(MAKECMDGOALS),clean)
NODEPS=1
endif
