summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/Makefile.am
blob: d04c161e40ff45ac23071cb69a22f27059d0a2e6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
##
## $Id$
##

include $(top_srcdir)/automake/multilib.am
include $(top_srcdir)/automake/compile.am
include $(top_srcdir)/automake/lib.am

AM_CPPFLAGS += -I$(top_builddir)
AM_CPPFLAGS += $(LIBC_DEFINES)

EXTRA_DIST = README

include_HEADERS =

# imfs

libimfs_EMBEDDED_C_FILES = src/imfs/imfs_chown.c src/imfs/imfs_config.c \
    src/imfs/imfs_creat.c src/imfs/imfs_directory.c src/imfs/imfs_eval.c \
    src/imfs/imfs_free.c src/imfs/imfs_fsunmount.c src/imfs/imfs_gtkn.c \
    src/imfs/imfs_init.c src/imfs/imfs_initsupp.c src/imfs/imfs_link.c \
    src/imfs/imfs_mknod.c src/imfs/imfs_mount.c src/imfs/imfs_fchmod.c \
    src/imfs/imfs_unlink.c src/imfs/imfs_unmount.c src/imfs/imfs_utime.c \
    src/imfs/imfs_ntype.c src/imfs/imfs_stat.c src/imfs/imfs_getchild.c \
    src/imfs/memfile.c src/imfs/linearfile.c src/imfs/deviceio.c \
    src/imfs/imfs_handlers_device.c src/imfs/imfs_handlers_directory.c \
    src/imfs/imfs_handlers_link.c src/imfs/imfs_handlers_memfile.c \
    src/imfs/imfs_debug.c src/imfs/imfs_rmnod.c src/imfs/imfs_symlink.c \
    src/imfs/imfs_readlink.c src/imfs/imfs_fdatasync.c src/imfs/imfs_fcntl.c \
    src/imfs/ioman.c src/imfs/miniimfs_init.c

libimfs_UNUSED_C_FILES = src/imfs/imfs_load_tar.c

libimfs_UNIX_C_FILES = src/imfs/imfs_unixstub.c

if UNIX
libimfs_C_FILES = $(libimfs_UNIX_C_FILES)
else
libimfs_C_FILES = $(libimfs_EMBEDDED_C_FILES)
endif
libimfs_OBJS = $(libimfs_C_FILES:src/imfs/%.c=src/imfs/$(ARCH)/%.$(OBJEXT))

include_HEADERS += src/imfs/imfs.h

IMFSLIB = src/imfs/$(ARCH)/libimfs.a

src/imfs/$(ARCH)/$(dirstamp):
	@$(mkinstalldirs) src/imfs/$(ARCH)
	@: > src/imfs/$(ARCH)/$(dirstamp)
src/imfs/$(ARCH)/%.$(OBJEXT): src/imfs/%.c src/imfs/$(ARCH)/$(dirstamp)
	${COMPILE} -o $@ -c $<
src/imfs/$(ARCH)/libimfs.a: ${libimfs_OBJS}
	$(make-library)

EXTRA_DIST += $(libimfs_EMBEDDED_C_FILES) $(libimfs_UNIX_C_FILES)

# dosfs

noinst_HEADERS = src/dosfs/fat.h

libdosfs_FATFS_C_FILES = src/dosfs/fat.c src/dosfs/fat_fat_operations.c \
    src/dosfs/fat_file.c

libdosfs_DOSFS_C_FILES = src/dosfs/msdos_create.c src/dosfs/msdos_dir.c \
    src/dosfs/msdos_eval.c src/dosfs/msdos_file.c src/dosfs/msdos_free.c \
    src/dosfs/msdos_fsunmount.c src/dosfs/msdos_handlers_dir.c \
    src/dosfs/msdos_handlers_file.c src/dosfs/msdos_init.c \
    src/dosfs/msdos_initsupp.c src/dosfs/msdos_misc.c \
    src/dosfs/msdos_mknod.c src/dosfs/msdos_node_type.c \
    src/dosfs/msdos_conv.c

if !UNIX
libdosfs_C_FILES = $(libdosfs_FATFS_C_FILES) $(libdosfs_DOSFS_C_FILES)
libdosfs_OBJS = \
    $(libdosfs_C_FILES:src/dosfs/%.c=src/dosfs/${ARCH}/%.$(OBJEXT))

include_HEADERS += src/dosfs/dosfs.h

DOSFSLIB = src/dosfs/$(ARCH)/libdosfs.a

src/dosfs/$(ARCH)/$(dirstamp):
	@$(mkinstalldirs) src/dosfs/$(ARCH)
	@: > src/dosfs/$(ARCH)/$(dirstamp)
src/dosfs/$(ARCH)/%.$(OBJEXT): src/dosfs/%.c src/dosfs/$(ARCH)/$(dirstamp)
	${COMPILE} -o $@ -c $<
src/dosfs/$(ARCH)/libdosfs.a: ${libdosfs_OBJS}
	$(make-library)
endif

all-local: $(IMFSLIB) $(DOSFSLIB)

EXTRA_DIST += $(libdosfs_DOSFS_C_FILES) $(libdosfs_FATFS_C_FILES)

CLEANDIRS = src

# ---

PREINSTALL_FILES =

$(PROJECT_INCLUDE)/$(dirstamp):
	@$(mkinstalldirs) $(PROJECT_INCLUDE)
	@: > $(PROJECT_INCLUDE)/$(dirstamp)
PREINSTALL_FILES += $(PROJECT_INCLUDE)/$(dirstamp)

$(PROJECT_INCLUDE)/imfs.h: src/imfs/imfs.h $(PROJECT_INCLUDE)/$(dirstamp)
	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/imfs.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/imfs.h

if !UNIX
$(PROJECT_INCLUDE)/dosfs.h: src/dosfs/dosfs.h $(PROJECT_INCLUDE)/$(dirstamp)
	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/dosfs.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/dosfs.h
endif

include $(top_srcdir)/automake/local.am