top_builddir=../..

# use GNU vpath, if available, to only set a path for source and headers
# VPATH will pick up objects too, which is bad if you are sharing a
# source dir...
@GNU_vpath@ %.h $(srcdir)
@GNU_vpath@ %.c $(srcdir)
# fallback to regular VPATH for non-gnu...
@NON_GNU_VPATH@ $(srcdir)

#
# What to install
#

INSTALLLIBS=libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION)
INCLUDESUBDIR=agent
HEADERS=all_helpers.h \
	baby_steps.h \
	bulk_to_next.h \
	cache_handler.h \
        debug_handler.h \
	instance.h \
	mode_end_call.h \
        multiplexer.h \
        null.h \
        old_api.h \
        read_only.h \
        row_merge.h \
	scalar.h \
	scalar_group.h \
        serialize.h \
	stash_cache.h \
	stash_to_next.h \
        table.h \
	table_array.h \
	table_container.h \
        table_data.h \
        table_dataset.h \
        table_iterator.h \
        table_tdata.h \
	watcher.h

# No header 'table_row.h'

HEADERSONLY=mfd.h set_helper.h
INCLUDESUBDIRHEADERS=$(HEADERS) $(HEADERSONLY)

#
# Build info
#
NETSNMPLIB      = ../../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION)
HELPERLIB       = libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION)
AGENTLIB        = ../libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION)
MIBLIB          = ../libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION)
# -I. -I.. -I../..
CPPFLAGS= $(TOP_INCLUDES) -I. $(AGENT_INCLUDES) $(MIBGROUP_INCLUDES) \
	$(SNMPLIB_INCLUDES) @CPPFLAGS@

SRCS =  all_helpers.c \
	baby_steps.c \
	bulk_to_next.c \
	cache_handler.c \
	debug_handler.c \
	instance.c \
	mode_end_call.c \
	multiplexer.c \
	null.c \
	old_api.c \
	read_only.c \
	row_merge.c \
	scalar.c \
	scalar_group.c \
	serialize.c \
	stash_cache.c \
	stash_to_next.c \
	table.c \
	table_array.c \
	table_container.c \
	table_data.c \
	table_dataset.c \
	table_iterator.c \
	table_row.c \
	table_tdata.c \
	watcher.c

OBJS =  all_helpers.o \
	baby_steps.o \
	bulk_to_next.o \
	cache_handler.o \
	debug_handler.o \
	instance.o \
	mode_end_call.o \
	multiplexer.o \
	null.o \
	old_api.o \
	read_only.o \
	row_merge.o \
	scalar.o \
	scalar_group.o \
	serialize.o \
	stash_cache.o \
	stash_to_next.o \
	table.o \
	table_array.o \
	table_container.o \
	table_data.o \
	table_dataset.o \
	table_iterator.o \
	table_row.o \
	table_tdata.o \
	watcher.o

LOBJS = all_helpers.lo \
	baby_steps.lo \
	bulk_to_next.lo \
	cache_handler.lo \
	debug_handler.lo \
	instance.lo \
	mode_end_call.lo \
	multiplexer.lo \
	null.lo \
	old_api.lo \
	read_only.lo \
	row_merge.lo \
	scalar.lo \
	scalar_group.lo \
	serialize.lo \
	stash_cache.lo \
	stash_to_next.lo \
	table.lo \
	table_array.lo \
	table_container.lo \
	table_data.lo \
	table_dataset.lo \
	table_iterator.lo \
	table_row.lo \
	table_tdata.lo \
	watcher.lo

all: standardall

libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION):    $(LOBJS)
	$(LIB_LD_CMD) $@ $(LOBJS) $(AGENTLIB) $(NETSNMPLIB) $(LDFLAGS) $(LIB_LD_LIBS)
	$(RANLIB) $@
