
include $(AWARE_HOME)/config/Makefile.config

ifdef CONFIG_SQLITE

LIB=libmodel.a
SLIB=libmodel.so.$(AW_VERSION)

include $(AWARE_HOME)/config/pkgconfig/sqlite.config

DDL=sysmodel.ddl
CFLAGS += -DDDL=\"$(DDL)\"

DISCOVER_WIRE=sysmodel_discover.wire
CFLAGS += -DDISCOVER_WIRE=\"$(DISCOVER_WIRE)\"

HANDLER_LIBS=\
	$(LIBDIR)/libexecphandler.so.$(AW_VERSION) \
	$(LIBDIR)/libeventrxhandler.so.$(AW_VERSION) \
	$(LIBDIR)/liblogfilehandler.so.$(AW_VERSION) \
	$(LIBDIR)/libmdnshandler.so.$(AW_VERSION)


CFLAGS +=\
	-I../../sys/execphandler \
	-I../../net/eventrxhandler \
	-I../../sys/logfilehandler \
	-I../../net/mdnshandler


EXTERNAL_LIBS=\
	$(LIBDIR)/libawsqlite.so.$(AW_VERSION) \
	$(LIBDIR)/libawdb.so.$(AW_VERSION) \
	$(HANDLER_LIBS)

include $(AWARE_HOME)/config/pkgconfig/sqlite.config

HEADERS=\
	model.h \
	model_pstmt.h

OBJS=\
	alert.o \
	auth.o \
	core.o \
	discover.o \
	event.o \
	group.o \
	interface.o \
	netmon.o \
	node.o \
	nodeasset.o \
	service.o \
	settings.o \
	subnet.o \
	user.o

RMFILES+=simple_test

all: $(LIB)

install: all
	cp $(LIB) $(LIBDIR)
	cp $(HEADERS) $(INCLUDEDIR)
	$(LD) -shared -Wl,-soname=$(SLIB) -o  $(LIBDIR)/$(SLIB) $(OBJS) $(EXTERNAL_LIBS)
	cp awnotify.sh $(BINDIR) ; chmod uo+x $(BINDIR)/awnotify.sh
	(cd sql ; ./concatsql.sh > $(LIBDIR)/$(DDL) )
	(cd wire ; ./concatwire.sh > $(LIBDIR)/$(DISCOVER_WIRE) )

$(LIB) : $(OBJS) 
	$(AR) $(ARFLAGS) $(LIB) $?

simple_test: simple_test.c $(HEADER) $(OBJS) 
	$(CC) $(CFLAGS) simple_test.c -o simple_test \
		$(OBJS) \
		-L$(LIBDIR) \
		-lawsqlite -lawutil \
		$(THREADLIB) -l$(DLLIB) $(EXTERNAL_LIBS) 


clean::
	$(RM) $(RMFILES) 

$(OBJS) : $(HEADERS)


else


all: msg

install: msg

clean: msg
	$(RM) $(RMFILES) $(APPS)

msg::
	@echo "model not configured because sqlite not configured"


endif
