
ifeq ($(KERNELRELEASE),)
TOPDIR = ../../..

include $(TOPDIR)/Preamble.make
else
# We are included by kbuild.

OUR_TOPDIR	:= $(M)/..

include $(OUR_TOPDIR)/Config.make
endif

COMPAT_SOURCES =
COMPAT_HEADERS =
SOURCES =
HEADERS =

EXTRA_CFLAGS += -DCONFIG_OCFS2_DEBUG_MASKLOG

ifdef NO_DELAYED_WORK_STRUCT
EXTRA_CFLAGS += -DNO_DELAYED_WORK_STRUCT
endif

ifdef REGISTER_SYSCTL_TWO_ARGS
EXTRA_CFLAGS += -DREGISTER_SYSCTL_TWO_ARGS
endif

ifdef NO_SU_MUTEX_IN_STRUCT_CONFIGFS_SUBSYSTEM
EXTRA_CFLAGS += -DNO_SU_MUTEX_IN_STRUCT_CONFIGFS_SUBSYSTEM
endif

ifdef STRUCT_SUBSYSTEM_DEFINED
EXTRA_CFLAGS += -DSTRUCT_SUBSYSTEM_DEFINED
endif

ifdef OLD_BIO_END_IO
EXTRA_CFLAGS += -DOLD_BIO_END_IO
endif

SOURCES +=			\
	heartbeat.c		\
	masklog.c		\
	netdebug.c		\
	nodemanager.c		\
	quorum.c		\
	sys.c			\
	tcp.c			\
	ver.c

HEADERS += 			\
	heartbeat.h		\
	masklog.h		\
	nodemanager.h		\
	ocfs2_heartbeat.h	\
	ocfs2_nodemanager.h	\
	quorum.h		\
	sys.h			\
	tcp.h			\
	tcp_internal.h		\
	ver.h

OBJECTS = $(subst .c,.o,$(SOURCES))
VERSION_FILES = $(SOURCES) $(HEADERS) $(COMPAT_SOURCES) $(COMPAT_HEADERS)
VERSION_SRC = ver.c
VERSION_PREFIX = CLUSTER

INSTALL_MOD_DIR := fs/ocfs2

obj-m := ocfs2_nodemanager.o

ocfs2_nodemanager-objs := $(OBJECTS)

ifneq ($(KERNELRELEASE),)
#
# Argh, Versioning.make has ordering requirements, so we put this here
#
STAMP_DIR	:= $(OUR_TOPDIR)/fs/ocfs2/cluster
include $(OUR_TOPDIR)/Versioning.make
CFLAGS_$(VERSION_OBJ) += $(VERDEFS)
endif

ifeq ($(KERNELRELEASE),)
#
# Called from a regular "make". Just forward to kbuild.
#

DIST_FILES = $(SOURCES) $(HEADERS) $(COMPAT_SOURCES) $(COMPAT_HEADERS)

ALL_RULES = stamp-md5 build-modules

CLEAN_RULES = clean-modules

INSTALL_RULES = install-modules

build-modules:
	$(MAKE) -C $(TOPDIR)/fs build-modules

install-modules:
	$(MAKE) -C $(TOPDIR)/fs install-modules

clean-modules:
	$(MAKE) -C $(TOPDIR)/fs clean-modules

include $(TOPDIR)/Postamble.make

endif
