-if LIBLUSTRE
+SUBDIRS = linux
+if DARWIN
+SUBDIRS += darwin
+endif
+DIST_SUBDIRS = linux darwin
+if LIBLUSTRE
+INCLUDES = -I$(SYSIO)/include
noinst_LIBRARIES = liblustreclass.a
-liblustreclass_a_SOURCES = class_obd.c debug.c genops.c statfs_pack.c uuid.c
+liblustreclass_a_SOURCES = class_obd.c debug.c genops.c statfs_pack.c mea.c uuid.c
liblustreclass_a_SOURCES += lustre_handles.c lustre_peer.c lprocfs_status.c
-liblustreclass_a_SOURCES += obdo.c obd_config.c llog_obd.c #llog_ioctl.c rbtree.c
-liblustreclass_a_CPPFLAGS = $(LLCPPFLAGS) -DLUSTRE_VERSION=\"32\" -DBUILD_VERSION=\"1\"
+liblustreclass_a_SOURCES += obdo.c obd_config.c llog.c llog_obd.c llog_cat.c
+liblustreclass_a_SOURCES += llog_lvfs.c llog_swab.c capa.c
+liblustreclass_a_SOURCES += lu_object.c cl_object.c lu_time.c lu_ref.c
+liblustreclass_a_SOURCES += cl_page.c cl_lock.c cl_io.c lprocfs_jobstats.c
+liblustreclass_a_SOURCES += #llog_ioctl.c rbtree.c
+liblustreclass_a_CPPFLAGS = $(LLCPPFLAGS)
liblustreclass_a_CFLAGS = $(LLCFLAGS)
endif
+
if MODULES
+
+if LINUX
modulefs_DATA = obdclass$(KMODEXT)
noinst_DATA = llog_test$(KMODEXT)
+endif # LINUX
+
+if DARWIN
+macos_PROGRAMS = obdclass
+
+obdclass_SOURCES = \
+ darwin/darwin-module.c darwin/darwin-sysctl.c \
+ class_obd.c genops.c lprocfs_status.c \
+ lustre_handles.c lustre_peer.c obd_config.c \
+ obdo.c debug.c llog_ioctl.c uuid.c \
+ llog_swab.c llog_obd.c llog.c llog_cat.c llog_lvfs.c \
+ mea.c lu_object.c dt_object.c lu_ref.c
+
+obdclass_CFLAGS := $(EXTRA_KCFLAGS)
+obdclass_LDFLAGS := $(EXTRA_KLDFLAGS)
+obdclass_LDADD := $(EXTRA_KLIBS)
+
+plist_DATA = Info.plist
+
+install_data_hook = fix-kext-ownership
+
+endif # DARWIN
+
endif # MODULES
-MOSTLYCLEANFILES = *.o *.ko *.mod.c llog-test.c
-DIST_SOURCES = $(filter-out llog-test.c,$(obdclass-objs:.o=.c)) $(llog-test-objs:.o=.c) llog_test.c
+install-data-hook: $(install_data_hook)
+
+MOSTLYCLEANFILES := @MOSTLYCLEANFILES@ llog-test.c
+MOSTLYCLEANFILES += linux/*.o darwin/*.o