-# Copyright (C) 2001 Cluster File Systems, Inc.
#
-# This code is issued under the GNU General Public License.
-# See the file COPYING in this distribution
+# GPL HEADER START
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 only,
+# as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License version 2 for more details (a copy is included
+# in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU General Public License
+# version 2 along with this program; If not, see
+# http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+# GPL HEADER END
+#
+
+#
+# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# This file is part of Lustre, http://www.lustre.org/
+# Lustre is a trademark of Sun Microsystems, Inc.
+#
if LIBLUSTRE
noinst_LIBRARIES = liblvfs.a
-liblvfs_a_SOURCES = lvfs_userfs.c llog_lvfs.c llog_cat.c llog.c
+liblvfs_a_SOURCES = lvfs_userfs.c prng.c lvfs_lib.c
liblvfs_a_CFLAGS = $(LLCFLAGS)
liblvfs_a_CPPFLAGS = $(LLCPPFLAGS)
if MODULES
-modulefs_DATA = lvfs$(KMODEXT) fsfilt_$(BACKINGFS)$(KMODEXT) fsfilt_smfs$(KMODEXT)
+if LINUX
-sources: fsfilt_$(BACKINGFS).c fsfilt_smfs.c
+modulefs_DATA := lvfs$(KMODEXT)
+
+if SERVER
+modulefs_DATA += fsfilt_$(BACKINGFS)$(KMODEXT)
+
+sources: fsfilt_$(BACKINGFS).c
touch sources
-fsfilt_extN.c: fsfilt_ext3.c
- sed -e "s/EXT3/EXTN/g" -e "s/ext3/extN/g" $< > $@
+else #SERVER
+sources:
-fsfilt_smfs.c:
- $< > $@
+endif #SERVER
ldiskfs_sed_flags = \
-e "s/dx_hash_info/ext3_dx_hash_info/g" \
-e "s/dir_private_info/ext3_dir_private_info/g" \
-e "s/DX_HASH/EXT3_DX_HASH/g" \
- -e "s/EXT3/LDISKFS/g" -e "s/ext3/ldiskfs/g"
+ -e "s/reserve_window/ext3_reserve_window/g" \
+ -e "s/rsv_window_add/ext3_rsv_window_add/g" \
+ -e "s/EXT3/LDISKFS/g" -e "s/ext3/ldiskfs/g" \
+ -e "s/EXT4/LDISKFS/g" -e "s/ext4/ldiskfs/g" \
+ -e "s/HAVE_LDISKFS_LDISKFS/HAVE_EXT4_LDISKFS/g"
fsfilt_ldiskfs.c: fsfilt_ext3.c
sed $(strip $(ldiskfs_sed_flags)) $< > $@
+ if grep -q '^#define\(.*\)HAVE_EXT4_LDISKFS' @LDISKFS_DIR@/config.h ; then \
+ sed -i -e "/DEBUG_SUBSYSTEM\(.*\)S_FILTER/a\#define HAVE_EXT4_LDISKFS 1" $@ ;\
+ fi
+fsfilt_ldiskfs_quota.h: fsfilt_ext3_quota.h
+ sed $(strip $(ldiskfs_sed_flags)) $< > $@
+
+endif # LINUX
+
+if DARWIN
+
+macos_PROGRAMS := lvfs
+
+lvfs_SOURCES := lvfs_darwin.c
+
+lvfs_CFLAGS := $(EXTRA_KCFLAGS)
+lvfs_LDFLAGS := $(EXTRA_KLDFLAGS)
+lvfs_LDADD := $(EXTRA_KLIBS)
+
+plist_DATA := Info.plist
+
+install_data_hook := fix-kext-ownership
+
+endif # DARWIN
+
+else # MODULES
+
+sources:
endif # MODULES
-DIST_SOURCES = fsfilt.c fsfilt_ext3.c fsfilt_smfs.c fsfilt_reiserfs.c \
- lvfs_common.c lvfs_internal.h lvfs_linux.c llog.c llog_cat.c \
- llog_lvfs.c lvfs_reint.c lvfs_undo.c lvfs_userfs.c
+install-data-hook: $(install_data_hook)
-MOSTLYCLEANFILES = *.o *.ko *.mod.c
-CLEANFILES = fsfilt-*.c fsfilt_ldiskfs.c fsfilt_extN.c sources
+MOSTLYCLEANFILES := @MOSTLYCLEANFILES@
+CLEANFILES = fsfilt-*.c fsfilt_ldiskfs*.c fsfilt_extN.c sources