source: rtems/cpukit/libfs/Makefile.am @ c5392ef9

4.115
Last change on this file since c5392ef9 was c5392ef9, checked in by Sebastian Huber <sebastian.huber@…>, on 03/01/12 at 10:51:34

IMFS: Add make generic node support

Generic nodes are an alternative to standard drivers in RTEMS. The
handlers of a generic node are called with less overhead compared to the
standard driver operations. The usage of file system node handlers
enable more features like support for fsync() and fdatasync(). The
generic nodes use the reference counting of the IMFS. This provides
automatic node destruction when the last reference vanishes.

Extend type IMFS_types_union by new type IMFS_generic_t.

Extend enum IMFS_jnode_types_t by IMFS_GENERIC.

Add functions

o IMFS_make_generic_node(),
o IMFS_is_imfs_instance(),
o IMFS_generic_get_context_by_node(),
o IMFS_generic_get_context_by_location(), and
o IMFS_generic_get_context_by_iop().

New test fstests/fsimfsgeneric01.

  • Property mode set to 100644
File size: 4.4 KB
Line 
1##
2## $Id$
3##
4
5include $(top_srcdir)/automake/multilib.am
6include $(top_srcdir)/automake/compile.am
7
8SUBDIRS = src/nfsclient
9
10EXTRA_DIST = README
11
12noinst_LIBRARIES = libdefaultfs.a
13libdefaultfs_a_SOURCES = \
14    src/defaults/default_clone.c \
15    src/defaults/default_are_nodes_equal.c \
16    src/defaults/default_lock_and_unlock.c \
17    src/defaults/default_eval_path.c \
18    src/defaults/default_fchmod.c src/defaults/default_freenode.c \
19    src/defaults/default_fsync.c \
20    src/defaults/default_fsync_success.c \
21    src/defaults/default_link.c \
22    src/defaults/default_read.c src/defaults/default_rmnod.c \
23    src/defaults/default_chown.c \
24    src/defaults/default_fcntl.c src/defaults/default_fsmount.c \
25    src/defaults/default_ftruncate.c src/defaults/default_lseek.c \
26    src/defaults/default_lseek_success.c \
27    src/defaults/default_readlink.c src/defaults/default_statvfs.c \
28    src/defaults/default_utime.c \
29    src/defaults/default_fstat.c \
30    src/defaults/default_ioctl.c src/defaults/default_mount.c \
31    src/defaults/default_rename.c src/defaults/default_symlink.c \
32    src/defaults/default_write.c \
33    src/defaults/default_unmount.c \
34    src/defaults/default_open.c src/defaults/default_close.c \
35    src/defaults/default_fsunmount.c src/defaults/default_mknod.c \
36    src/defaults/default_node_type.c \
37    src/defaults/default_ftruncate_directory.c \
38    src/defaults/default_handlers.c src/defaults/default_ops.c
39
40noinst_LIBRARIES += libimfs.a
41libimfs_a_SOURCES =
42
43libimfs_a_SOURCES += src/imfs/deviceerrno.c src/imfs/deviceio.c \
44    src/imfs/fifoimfs_init.c src/imfs/imfs_chown.c src/imfs/imfs_config.c \
45    src/imfs/imfs_creat.c src/imfs/imfs_debug.c src/imfs/imfs_directory.c \
46    src/imfs/imfs_eval.c src/imfs/imfs_fchmod.c \
47    src/imfs/imfs_fifo.c \
48    src/imfs/imfs_make_generic_node.c \
49    src/imfs/imfs_fsunmount.c \
50    src/imfs/imfs_handlers_device.c \
51    src/imfs/imfs_handlers_directory.c src/imfs/imfs_handlers_link.c \
52    src/imfs/imfs_handlers_memfile.c src/imfs/imfs_init.c \
53    src/imfs/imfs_initsupp.c src/imfs/imfs_link.c src/imfs/imfs_load_tar.c \
54    src/imfs/imfs_mknod.c src/imfs/imfs_mount.c src/imfs/imfs_ntype.c \
55    src/imfs/imfs_readlink.c src/imfs/imfs_rename.c src/imfs/imfs_rmnod.c \
56    src/imfs/imfs_stat.c src/imfs/imfs_symlink.c \
57    src/imfs/imfs_unmount.c src/imfs/imfs_utime.c src/imfs/ioman.c \
58    src/imfs/memfile.c src/imfs/miniimfs_init.c src/imfs/imfs.h
59
60# POSIX FIFO/pipe
61libimfs_a_SOURCES += src/pipe/fifo.c src/pipe/pipe.c src/pipe/pipe.h
62
63noinst_LIBRARIES += libdevfs.a
64libdevfs_a_SOURCES = src/devfs/devfs_init.c src/devfs/devfs_eval.c \
65    src/devfs/devfs_mknod.c src/devfs/devfs_show.c \
66    src/devfs/devfs_node_type.c src/devfs/devopen.c src/devfs/devread.c \
67    src/devfs/devwrite.c src/devfs/devclose.c src/devfs/devioctl.c \
68    src/devfs/devstat.c src/devfs/devfs.h
69
70# dosfs
71if LIBDOSFS
72noinst_LIBRARIES += libdosfs.a
73
74# libdosfs_FATFS_C_FILES
75libdosfs_a_SOURCES = src/dosfs/fat.c src/dosfs/fat.h \
76    src/dosfs/fat_fat_operations.c src/dosfs/fat_fat_operations.h \
77    src/dosfs/fat_file.c src/dosfs/fat_file.h
78
79# libdosfs_DOSFS_C_FILES
80libdosfs_a_SOURCES += src/dosfs/msdos_create.c src/dosfs/msdos_dir.c \
81    src/dosfs/msdos_eval.c src/dosfs/msdos_file.c src/dosfs/msdos_free.c \
82    src/dosfs/msdos_fsunmount.c src/dosfs/msdos_handlers_dir.c \
83    src/dosfs/msdos_handlers_file.c src/dosfs/msdos_init.c \
84    src/dosfs/msdos_initsupp.c src/dosfs/msdos_misc.c \
85    src/dosfs/msdos_mknod.c src/dosfs/msdos_node_type.c \
86    src/dosfs/msdos_rmnod.c \
87    src/dosfs/msdos_conv.c src/dosfs/msdos.h src/dosfs/msdos_format.c \
88    src/dosfs/dosfs.h src/dosfs/msdos_rename.c
89endif
90
91# RFS
92noinst_LIBRARIES += librfs.a
93librfs_a_SOURCES = \
94    src/rfs/rtems-rfs-bitmaps.c src/rfs/rtems-rfs-block.c \
95    src/rfs/rtems-rfs-buffer-bdbuf.c src/rfs/rtems-rfs-buffer.c \
96    src/rfs/rtems-rfs-dir-hash.c src/rfs/rtems-rfs-file.c \
97    src/rfs/rtems-rfs-group.c src/rfs/rtems-rfs-inode.c \
98    src/rfs/rtems-rfs-rtems-dev.c src/rfs/rtems-rfs-rtems-utils.c \
99    src/rfs/rtems-rfs-rtems.c src/rfs/rtems-rfs-shell.c \
100    src/rfs/rtems-rfs-bitmaps-ut.c src/rfs/rtems-rfs-dir.c \
101    src/rfs/rtems-rfs-file-system.c src/rfs/rtems-rfs-format.c \
102    src/rfs/rtems-rfs-link.c src/rfs/rtems-rfs-mutex.c \
103    src/rfs/rtems-rfs-rtems-dir.c src/rfs/rtems-rfs-rtems-file.c \
104    src/rfs/rtems-rfs-trace.c
105
106# ---
107include $(srcdir)/preinstall.am
108include $(top_srcdir)/automake/subdirs.am
109include $(top_srcdir)/automake/local.am
Note: See TracBrowser for help on using the repository browser.